一、框架的对象创建步骤。
1、定义一个接口。
2、定义一个实现类。
3、定义XML配置文件。
4、定义测试类。实现接口类ApplicationContext 与 ClassPathXmlApplicationContext.
二、举例(setter方式注入。)
1、定义一个接口 UserService。
package com.stx.ioc;
public interface UserService {
public void say();
}
2、定义一个实现类UserServiceImpl继承UserService。
package com.stx.ioc;
public class UserServiceImpl implements UserService{
// 声名UserDao userDao;
private UserDao userDao;
// 添加UserDao属性的方法,用于实现依赖注入。
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
// 实现接口中的方法。
@Override
public void say() {
// 调用UserDao中的say()方法,并执行输出语句。
this.userDao.say();
// 本身方法打印。
System.out.println("Hello World!");
}
}
3、定义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">
<!-- 第一个bean是加工的UserDao-->
<bean id="userDao" class="com.stx.ioc.UserDaoImpl"></bean>
<!-- 第二个bean是加工的UserServiceImpl-->
<bean id="userService" class="com.stx.ioc.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>
</beans>
4、定义测试类。实现接口类ApplicationContext 与 ClassPathXmlApplicationContext.
package com.stx.ioc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestDI {
public static void main(String[] args) {
// 加载Bean工厂。
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
// 获取对象。
UserService userService=(UserService) applicationContext.getBean("userService");
// 调用类对象里面的方法。
userService.say();
}
}
(构造方法见https://blog.csdn.net/qq_45105305/article/details/112731430)