Spring IOC容器的浅显理解
一、Spring概述
可以解决对象创建以及对象之间依赖关系的一种框架,且可以和其他框架一起使用:Spring 和 structs 、 Spring 和 hibernate, 即起到整合作用的一种框架。
二、IOC(控制反转)
Spring 框架的核心内容可以说就是 IOC容器 了,IOC就是对依赖项的控制由组件转到容器,可以简单理解为“不要给我打电话,我们会给你打电话”。
它的作用可以概括为以下两点:
1、将对象的创建交给外部容器完成
2、处理对象之间的依赖关系
IOC包含两种形式:依赖查找和依赖注入(后者多使用)
三、依赖注入(DI)
原则:应用程序对象不负责在、查找所依赖的资源和协作者,而是由IOC容器处理解决对象创建和依赖注入,使资源查找外部化。
依赖注入可以通过以下方法给属性进行赋值:
1、通过对象的构造函数
<bean id="user1" class="step3_property.User" scope="prototype">
<constructor-arg value="90"></constructor-arg>
<constructor-arg value="serr"></constructor-arg>
</bean>
2、通过set方法给属性进行注入值,(还有一个内部bean方法,但由于代码复用性较低所以不常用)
<bean id="user2" class="step3_property.User" scope="prototype">
<property name="id" value="78"></property>
<property name="name" value="jjj"></property>
</bean>
``<!-- 内部bean方法 -->
<bean id="userAction" class="step3_property.UserAction">
<property name="userService" >
<bean class="step3_property.UserService">
<property name="userDao" >
<bean class="step3_property.UserDao"></bean>
</property>
</bean>
</property>
</bean> `
3、p名称空间(优化操作,Spring3.0以上版本支持)
<bean id="userDao" class="step3_property.UserDao"></bean>
<bean id="userService" class="step3_property.UserService" p:userDao-ref="userDao"></bean>
<bean id="userAction" class="step3_property.UserAction" p:userService-ref="userService"></bean>
4、自动装配(但一般不推荐使用,自动装配操作主要用于简化配置,但不利于后期维护)
自动装配包含:按照名称进行装配(ByName)和 类型装配(ByType)5、注解注入:简化Spring的IOC容器配置
还没有评论,来说两句吧...