通过构造方法方式来演示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); } }
6. 执行结果