在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的实例代码,帮助你更好地理解这一关键概念。 首先,Spring装配Bean主要有两种方式:XML配置和注解配置。在本例中,我们将重点关注XML配置,对应的压缩包文件名为“springxmldemo”,...
Spring装配Bean的3种方式总结 Spring框架是Java EE应用程序的核心框架之一,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等功能。依赖注入是Spring框架的核心...
Spring装配bean方法实例总结 Spring框架中,bean的装配是非常重要的一个步骤,它可以通过多种方式来实现,包括XML配置、Java配置和自动装配等。下面是Spring装配bean方法实例总结。 一、XML配置 在Spring框架中...
Spring装配Bean之组件扫描和自动装配 Spring框架提供了两种方式来实现自动化装配:组件扫描和自动装配。组件扫描是指Spring自动发现应用上下文中所创建的bean,而自动装配是指Spring自动满足bean之间的依赖。 组件...
本文将深入探讨Spring如何通过XML配置来装配Bean。 首先,要创建XML配置,你需要创建一个新的XML文件,通常命名为`applicationContext.xml`,并将其放置在项目的资源目录下。XML配置文件的根元素是`<beans>`,它...
在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...
总的来说,Spring的Java配置提供了一种类型安全、易于理解和维护的方式来装配Bean,特别是对于复杂的应用场景,它比XML配置更具优势。通过使用Java配置,我们可以更好地控制Bean的创建和依赖关系,使Spring应用的...
以上就是Spring使用注解方式装配Bean的基本过程和关键注解的介绍。通过这种方式,我们可以轻松地管理Bean的生命周期,实现依赖注入,以及对Bean的其他配置,极大地提高了代码的可维护性和灵活性。在实际项目中,结合...
在Spring中,Bean是应用中的对象,它们由Spring IoC容器负责创建、管理和装配。Bean配置是定义这些对象如何被创建和如何相互关联的过程。 **IoC(Inversion of Control)和DI(Dependency Injection)**: IoC是...
Spring中Bean的生命周期和作用域及实现方式 Spring是一个非常流行的Java应用程序框架,它提供了一个灵活的机制来管理Bean的生命周期和作用域。Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了...
2. **@Autowired注解的误用**:Spring的自动装配机制可能导致Bean的多次实例化。如果一个BeanA依赖于另一个BeanB,同时BeanB也依赖于BeanA,那么Spring在处理依赖关系时可能会陷入循环引用,导致两个Bean都实例化两...
在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...
本文将深入探讨Spring装配基本属性的原理,帮助你更好地理解如何在代码中使用和配置这些属性。 首先,Spring装配的基本方式有两种:XML装配和基于注解的装配。XML装配是早期版本Spring的主要装配方式,通过`<bean>`...
Spring自动装配Bean实现过程详解 Spring框架提供了自动装配Bean的功能,该功能可以根据Bean的属性名称或类型自动将Bean装配到其他Bean中,从而简化了Bean的配置工作。在本文中,我们将详细介绍Spring自动装配Bean...
Spring的核心在于其BeanFactory和ApplicationContext,它们使得对象的管理和装配变得简单。这里我们将详细探讨如何在Java中通过Spring获取配置的bean。 1. **BeanFactory与ApplicationContext** - **BeanFactory*...
Spring 在 IoC 容器中装配 Bean 详解 Spring 框架中的 IoC 容器是一个核心组件,它提供了 Bean 的装配、管理和依赖注入等功能。在 Spring 框架中,IoC 容器是 Bean 的容器,负责创建、管理和装配 Bean。在本文中,...
6. Spring Bean 的装配 - 自动装配:通过`@Autowired`注解自动寻找匹配类型的Bean进行装配。 - 配置文件指定:在XML配置文件中使用`<bean>`标签的`ref`属性指定依赖的Bean。 - 使用`@Qualifier`:当有多个相同...
- **`byName`**:根据属性名称进行自动装配,Spring会尝试将名称匹配的Bean注入到相应的位置。 - **`byType`**:根据类型进行自动装配,如果BeanFactory中有且只有一个Bean与属性类型匹配,则自动装配该属性。如果...
### Spring Bean 属性详解 Spring框架是Java平台上的一个开源框架,主要用来简化企业级应用程序的开发。在Spring中,核心概念之一就是Bean,它是一个简单的Java对象,由Spring IoC容器管理。Spring通过XML配置文件...