1. 反转(转移)控制(Inverse of Control - IoC)
反转控制: 把对于成员变量赋值的控制权,从代码中 反转 到Spring工厂和配置文件中完成。
好处: 解藕合
底层实现:工厂设计模式
2. 依赖注入(Dependence Injection - DI)
注入: 通过Spring的工厂及配置文件,为对象(bean,组件)的成员变量赋值。
依赖注入:一个类A 需要另一个B, 就意味这有依赖,
那就通过Spring的配置文件 把B作为成员变量,赋值注入。
好处 : 解藕合
public void UserService{
private UserDAO userDAO; //一个类A需要另一个B, 把B作为成员变量,赋值注入。
//加入set get 方法
public UserDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
}
然后在配置文件中 bean
工厂创建对象
<bean id="userDAO" class="com.gogogo.UserDAOImpl"></bean>
<bean id="userService" class="com.gogogo.UserServiceImpl">
<property name="userDAO" ref="userDAO"></property>
</bean>
学习开心❤️
加油加油
“Continuous improvement is better than delayed perfection.”
– Mark Twain