文章目录
IOC理论推导
用IOC可以让耦合性降低,另外可以简化开发
之前是new对象,然后一个对象调另一个对象中的方法;现在创建对象包括对象与对象之间的关系,它们的调用,通过spring这种方式就能实现,实现之后让耦合度降低
- UserDao接口
- UserDaoImpl
- UserService业务接口
- UserServiceImpl业务实现类
业务层要调dao层
在后台创建加了一个dao
new 程序控制对象
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
IOC创建对象的方式
把类注册到bean里面
1.使用无参构造创建对象,这是默认实现
无参构造必须写个有参构造才能干掉,没有无参构造,所以方法直接抱错
没有办法初始化,初始化失败
2.假设我们要使用有参构造创建对象
重点掌握以下这种方式,就够用了
这里面的所有bean,在一注册进来的时候,就被Spring实例化了,要用的时候直接get就可以了
总结:在配置文件加载的时候,容器中管理的对象就已经初始化了