ICO(控制反转/依赖注入)
Spring IOC使用的核心技术
1、工厂模式
2、xml解析
3、解析时用到反射
4、单例模式(不用一直实例化对象,减少内存开销,)
bean对象实例化的三种方式
1、使用默认构造器进行实例化(空构造器,带参构造)
2、静态工厂的实例化方式
首先需要有一个工厂类方法,这个方法必须是静态的;
对象也是单例类型;
3、实例化工厂实例化
工厂类方法为普通方法
xml 配置
首先配置工厂bean 对象
<bean id="instanceFactory" class="com.sun.factories.InstanceFactory"></bean> |
后续配置目标bean 对象
<bean id="userController" factory-bean="instanceFactory" factory-method="getUserController"></bean> |
Xml的文件配置
<!-- --> <!--
<!-- class:静态工厂全路径 factory-method:返回对象的方法名 <bean id="userDao" class="com.sun.factories.StaticFactory" factory-method="getUserDao"></bean> <!--
|
注入bean的方式(注入/装配:给属性赋值)
主要分为手动注入方式和自动注入方式
手动注入:
Set注入(一般而言都是set注入)
<!--set注入--> |
带参构造器注入
静态工厂注入
实例化工厂的注入