Spring IOC容器的浅显理解

悠悠 2022-04-24 00:10 265阅读 0赞

一、Spring概述

可以解决对象创建以及对象之间依赖关系的一种框架,且可以和其他框架一起使用:Spring 和 structs 、 Spring 和 hibernate, 即起到整合作用的一种框架。

二、IOC(控制反转)

Spring 框架的核心内容可以说就是 IOC容器 了,IOC就是对依赖项的控制由组件转到容器,可以简单理解为“不要给我打电话,我们会给你打电话”。
它的作用可以概括为以下两点:

1、将对象的创建交给外部容器完成
2、处理对象之间的依赖关系

IOC包含两种形式:依赖查找和依赖注入(后者多使用)

三、依赖注入(DI)

原则:应用程序对象不负责在、查找所依赖的资源和协作者,而是由IOC容器处理解决对象创建和依赖注入,使资源查找外部化。

依赖注入可以通过以下方法给属性进行赋值:

1、通过对象的构造函数

  1. <bean id="user1" class="step3_property.User" scope="prototype">
  2. <constructor-arg value="90"></constructor-arg>
  3. <constructor-arg value="serr"></constructor-arg>
  4. </bean>

2、通过set方法给属性进行注入值,(还有一个内部bean方法,但由于代码复用性较低所以不常用)

  1. <bean id="user2" class="step3_property.User" scope="prototype">
  2. <property name="id" value="78"></property>
  3. <property name="name" value="jjj"></property>
  4. </bean>
  5. ``<!-- 内部bean方法 -->
  6. <bean id="userAction" class="step3_property.UserAction">
  7. <property name="userService" >
  8. <bean class="step3_property.UserService">
  9. <property name="userDao" >
  10. <bean class="step3_property.UserDao"></bean>
  11. </property>
  12. </bean>
  13. </property>
  14. </bean> `

3、p名称空间(优化操作,Spring3.0以上版本支持)

  1. <bean id="userDao" class="step3_property.UserDao"></bean>
  2. <bean id="userService" class="step3_property.UserService" p:userDao-ref="userDao"></bean>
  3. <bean id="userAction" class="step3_property.UserAction" p:userService-ref="userService"></bean>

4、自动装配(但一般不推荐使用,自动装配操作主要用于简化配置,但不利于后期维护)
自动装配包含:按照名称进行装配(ByName)和 类型装配(ByType)

5、注解注入:简化Spring的IOC容器配置

发表评论

表情:
评论列表 (有 0 条评论,265人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Spring IoC容器

    Spring IoC(Inversion of Control,控制反转)容器是Spring框架的核心功能之一,它是一个轻量级的容器,负责管理Java对象的生命周期和依赖关系。

    相关 Spring IoC容器

    我们将详细介绍 Spring 的 Ioc 容器。 IoC 是指在程序开发中,实例的创建不再由调用者管理,而是由 Spring 容器创建。Spring 容器会负责控制程序之

    相关 Spring IOC容器

    IOC(控制反转):不负责对象的创建,只负责使用,由外部容器创建 DI(依赖注入):创建对象并且组装对象之间的关系        ![watermark_type