`

Spring装配bean

阅读更多

       在Spring中,对象无需自己负责创建和管理对象。相反,容器负责把需要相互协作的对象引用赋予各个对象。这样对象自身就可以从对象的管理中解脱出来,从而可以实现解耦。创建应用对象之间协作关系的行为通常被称为装配。这也是依赖注入的本质。依赖注入是Spring使用的基本要素,因此在开发基于Spring的应用时,这些技术无时无刻不在被使用着。

 

        Spring是一个基于容器的框架。但是如果没用相应的配置的话,那么就相当于是一个空容器。一个空的容器是没有实际用处的。所以我们需要通过配置来告诉容器它需要加载那些Bean并且如何装配这些bean。虽然sping提供了两种配置方式,但基于xml文件的配置是spring最原始的配置方式,虽然在大型项目中其配置将变得相当的庞大。但简单的项目使用这种方法还是可以达到可读性好的优点的。

 

       装配的一个重要目的就是,将想要的值注入到相应Bean的属性中。依据注入的方法可以将他们分成两类。构造器注入和setter方式的注入(命名空间p)。依据内容可以分成五类。简单值,引用,集合,内部bean,SPEL表达式。

 

构造器注入简单值

<bean id="duke" class="org.spring.chapter2.Juggler">
	<constructor-arg value="15" />

 使用xml <constructor-arg>标签的value属性通过Juggler类的构造方法注入简单值“15”

 

构造器注入引用

<bean id="sonnet29"
	class="org.spring.chapter2.Sonnet29" />
	
<bean id="poeticDuke" class="org.spring.chapter2.PoeticJuggler">
	<constructor-arg value="15" />
	<constructor-arg ref="sonnet29" />

  使用xml <constructor-arg>标签的ref属性通过PoeticJuggler类的构造方法注入sonnet29的引用。

 

setter方式注入简单值和引用

<bean id="piano" class="org.spring.chapter2.Piano" />

<bean id="kenny"
	class="org.spring.chapter2.Instrumentalist">
<property name="song" value="Jingle Bells" />
<property name="instrument" ref="piano" />

</bean>

 使用xml<property>的name和value属性指定bean的属性的值,需要bean中有相应的setXXX()方法。

 

setter方式注入简单值和引用(命名空间p)

<bean id="saxophone" class="org.spring.chapter2.Saxophone" />
<bean id="dan" class="org.spring.chapter2.Instrumentalist"
p:song = "Jingle Bells"
p:instrument-ref = "saxophone"
/>

 可以简化配置,但需在beans中声明相应的命名空间

 

setter方式注入列表

<bean id="saxophone" class="org.spring.chapter2.Saxophone" />
<bean id="piano" class="org.spring.chapter2.Piano" />
	
<bean id="hank" class="org.spring.chapter2.OneManBand">
	<property name = "instruments">
		<list>
			<ref bean="saxophone" />
			<ref bean="piano" />
		</list>
	</property>
</bean>

 

 

注:Spring实战(第三版)的学习笔记

分享到:
评论

相关推荐

    spring装配bean实例代码

    博客地址:https://blog.csdn.net/u010476739/article/details/76732201 spring装配bean的方式实例

    spring装配bean的3种方式总结

    主要给大家介绍了关于spring装配bean的3种方式,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Spring装配bean方法实例总结

    主要介绍了spring装配bean方法实例总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    浅谈Spring装配Bean之组件扫描和自动装配

    本篇文章主要介绍了浅谈Spring装配Bean之组件扫描和自动装配,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Spring装配Bean教程之XML安装配置bean详解

    大家都知道spring有多重配置方式,基于XML,基于注解,基于java类的配置,其中基于XML是最强大的一种,下面这篇文章主要给大家介绍了关于Spring装配Bean之XML安装配置bean的相关资料,需要的朋友可以参考借鉴,下面...

    Spring装配Bean之用Java代码安装配置bean详解

    主要给大家介绍了关于Spring装配Bean之用Java代码安装配置bean的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。

    Spring Bean常用的的装配方式详解

    主要介绍了Spring Bean常用的的装配方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    day38 16-Spring的Bean的装配:注解的方式

    NULL 博文链接:https://364232252.iteye.com/blog/2369853

    spring自动装配例子

    ean的自动装配,有4种 (1)no:不做任何操作 (2)byName:根据属性 名 自动装配,设值注入 &lt;bean id="xxx" class="xxx" &gt;&lt;/bean&gt; (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 &lt;bean...

    spring在IoC容器中装配Bean详解

    主要介绍了spring在IoC容器中装配Bean详解,具有一定借鉴价值,需要的朋友可以参考下

    spring入门教程之bean的继承与自动装配详解

    众所周知Spring里面的bean就类似是定义的一个组件,而这个组件的作用就是实现某个功能的,下面这篇文章主要给大家介绍了关于spring入门教程之bean继承与自动装配的相关资料,需要的朋友可以参考借鉴,下面随着小编来...

    Spring自动装配Bean实现过程详解

    主要介绍了Spring自动装配Bean实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring基于@Conditional条件化装配bean

    主要介绍了Spring @Conditional条件化装配bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    基于框架的Web开发-装配Bean自动装配.doc

    1.4 装配Bean-自动装配(重要!) Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。 自动装配(autowiring):Spring自动满足bean之间的依赖。 1 ...

    Spring中的Bean的管理_Bean的装配方式_基于注解的装配_项目

    目的:Spring容器已经成功获取了UserController实例,并通过调用实例中的方法执行了各层中的输出语句。 运行结果为: User [id=1, name=张三, password=123] userDao say hello world! UserService say hello world ...

    Spring学习之Bean的装配多种方法

    本篇文章主要介绍了Spring学习之Bean的装配三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    spring boot中的条件装配bean的实现

    主要介绍了spring boot中的条件装配bean的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    第四章 在Ioc容器中装配Bean

    spring 3.X 企业应用 第四章 在Ioc容器中装配Bean 手机拍的图片,略有缺页

    spring定义和装配bean详解

    主要介绍了spring定义和装配bean详解,具有一定参考价值,需要的朋友可以了解下。

    JSP Spring 自动化装配Bean实例详解

    主要介绍了JSP Spring 自动化装配Bean实例详解的相关资料,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics