本文主要内容:Spring基于XML的IOC环境搭建、依赖注入
Spring基于XML的IOC环境搭建
- IOC:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度
- 个人理解:通过反射的方式来创建对象(这里我们通过Spring框架来帮我们实现通过反射获取对象)来实现降低耦合
- 关于通过反射获取对象的XML文件的编写(就是编写要获取的具体bean对象)
- 使用默认构造函数创建,在Spring的配置文件中(XML)使用bean标签,配以id和class属性之后,且没有其它属性和标签时,采用的就是默认构造函数创建bean对象,如果类中没用默认构造函数,则对象无法创建
<bean id="accountService" class="live.warlock.service.impl.AccountServiceImpl"></bean>
- 使用普通工厂中的方法创建对象(使用某个类中的方法创建对象,并存入spring容器)
<bean id="InstanceFactory" class="live.warlock.Factory.InstanceFactory"></bean>
<bean id="accountService" factory-bean="InstanceFactory" factory-method="getAccountService">
- 使用工厂中的静态方法创建对象(使用某个类中的静态方法创建对象,并存入spring容器)
<bean id="accountService" class="live.warlock.Factory.StaticFactory" factory-method="getAccountService"></bean>
- 使用默认构造函数创建,在Spring的配置文件中(XML)使用bean标签,配以id和class属性之后,且没有其它属性和标签时,采用的就是默认构造函数创建bean对象,如果类中没用默认构造函数,则对象无法创建
- 关于如何获取xml来创建具体对象
- 获取核心容器对象
ApplicationContext ac = new ClassPathXmlApplicationContext(“bean.xml”); - 根据id获取Bean对象(以下两种方法都可)
AccountService as = (AccountService) ac.getBean(“accountService”);
AccountService as = ac.getBean(“accountService”, AccountService.class);
- 获取核心容器对象
5. bean标签的作用范围 
6.bean对象的生命周期
- 单例对象
1. 出生:当容器创建时对象出生
2. 活着:容器在就活着
3. 死亡:容器销毁,对象死亡 - 多例对象
1. 出生:当我们使用对象时,Spring框架为我们创建
2. 活着:对象在使用过程中,就一直或者
3. 死亡:当对象长时间不用,且没有别的对象引用时,JC(JavaCollection)来回收
依赖注入
依赖注入的实现一:使用构造函数完成依赖注入
- 构造函数展示
- xml文件标签展示
依赖注入的实现二:使用set方法完成依赖注入
- 构造函数展示
- xml文件标签展示
- 如果数据是集合类型的xml文件展示