通过构造方法方式来演示Spring容器在应用中是如何实现依赖注入的,实现Student输出学生姓名和年龄。
1. 创建项目
Idea创建Java项目,项目名称为:case02-spring-student01。
2. 导入spring相关jar包
case02-spring-student01项目下创建lib目录,在lib目录下导入Jar包:
-
核心包
spring-core-5.3.25.jar、
spring-beans-5.3.25.jar、
spring-context-5.3.25.jar、
spring-expression-5.3.25.jar
-
测试包
junit-4.6.jar
-
依赖包
commons-logging-1.2.jar
3. 创建Spring配置文件
src目录下创建applicationContext.xml配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 将Student类配置给Spring,让Spring创建其实例 -->
<bean id="student" class="com.wfit.Student">
<!-- <constructor-arg>元素表示构造方法的一个参数-->
<constructor-arg name="name" value="zhangsan"></constructor-arg>
<constructor-arg name="age" value="20"></constructor-arg>
</bean>
</beans>
4. 创建Student类
src目录下创建com.wfit包,此包目录下创建Student类。
public class Student {
private String name;
private int age;
public Student(String name,int age){
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
5.创建测试类
src目录下创建com.wfit包,此包目录下创建TestStudent测试类。
public class TestStudent {
@Test
public void test(){
//加载applicationContext.xml配置
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
//通过容器获取Student实例
Student student = applicationContext.getBean("student", Student.class);
System.out.println(student);
}
}