03 核心概念
代码书写现状
耦合度偏高
解决方案
使用对象时,程序中不要主动使用new产生对象,转换由外部提供对象。
IoC(控制反转)
对象的创建控制权由程序转移到外部
解耦。。
Spring提供了一个容器,称为ioc容器,充当ioc思想中的“外部”
ioc容器负责对象创建,初始化等工作,被创建或被管理的对象在容器中称为Bean.
DI 依赖注入
容器中建立bean和bean之间的依赖关系的整个过程。
使用ioc容器管理bean;
在容器内将有依赖关系的bean进行关系绑定。
效果
使用对象时直接从容器中获取,并且取到的bean已经绑定了所有的依赖关系
04 IoC入门案例
1 管理什么
step1
导入spring依赖
step2
配置bean
id为bean名称 class定义类型
<bean id="bookService" class="com.it.service.impl.BookServiceImpl"></bean>
step3
//3 获取ioc容器
ApplicationContext ctx=ClassPathXmlApplicationContext(".....xml");
step4
//4 获取bean
ctx.getBean("bookDao");
05 DI入门案例
step1 删除使用new形式创建对象的代码
step2 提供依赖对象对应的setter方法
step3 配置service与dao之间的关系
<bean id="bookService" class="com...">
<property name="bookDao" ref="bookDao"/>
</bean>