Spring IOC容器的浅显理解

本文深入探讨了Spring框架的核心概念,包括其作为整合其他框架的平台角色,详细讲解了IOC(控制反转)原理,以及依赖注入(DI)的多种实现方式,如构造函数注入、setter方法注入、p名称空间、自动装配和注解注入等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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容器配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值