一.ioc控制反转
业务层每次都要new一个新的对象来实现对实例的创建,耦合度偏高,使用IOC的最终目的是解除多个类之间的耦合性,降低代码的耦合度。
IOC核心概念:
ioc容器(spring容器)负责对象的创建、初始化等一系列工作,在ioc容器中通称作bean。
但并未创建成功,因为service依赖dao对象运行,此时两者没有产生联系
DI依赖注入:在容器中建立bean与bean之间的依赖关系的整个过程。
IOC实例操作:
1.在pom文件里导包
只有将包导入才能在resources中创建spring的配置文件
命名为applicationContext.xml
2.配置bean
格式<bean id="..." class="com.itheima.包名.包名.类名"/>
//id属性表示给bean起名字
//class属性表示给bean定义类型
3.获取bean
(1)获取ioc容器
applicationContext(接口,和文件名相同) c = new ClassPathxmlApplicationContext(new一个实现类) (“applicationContext.xml”配置文件名);
(2)获取bean
DI实例操作:
在bookservice的bean中声明bookdao
//property标签表示配置当前的bean的属性
//name标签表示配置哪一个具体的属性
//ref属性表示参照哪一个bean
两种注入方法
1.setter注入
简单类型
引用类型
2.构造器注入
简单类型
引用类型