`

Spring配置bean属性

阅读更多

 

配置 <bean> 的属性

 

属性名

作用

可选值

默认值

是否必选

Id

命名 bean

 

 

必选

Class

实例化的类

 

 

必选

Factory-method

指定工厂方法

 

 

可选

Factory-bean

指定工厂类

 

 

可选

Scope

Bean 的作用域

Singleton | prototype | request | session | global session

Singleton

可选

Lazy-int

延迟初始化 bean

True|false|default

Default

可选

Init-method

初始化回调

 

 

可选

Destroy-method

析构回调

 

 

可选

Parent

继承 bean

 

 

可选

 

id 属性:命名 bean

id 在当前 ioc 容器中必须唯一。

class 属性:指定类名

大多数情况下,容器将直接通过反射调用指定类的构造器来创建 bean ,在极少情况下,容器将调用类的静态工厂方法来创建 bean 实例, class 属性将用来指定实际具有静态工厂方法的类

factory-method 属性:指定工厂方法

指定的是工厂方法

 

 

scope 属性:设置 bean 作用域

singleton spring ioc 容器中只会存在一个共享的 bean 实例,每次请求返回 bean 的同一实例

prototype :每次对该 bean 请求时都会创建一个新的 bean 实例。根据经验:对于所有有状态的 bean 应该使用 prototype 作用域,而对无状态的 bean 则应该使用 singletom 作用域

request :在一次 HTTP 请求中,一个 bean 定义对应一个实例。

session :在一个 HTTP session 中,一个 bean 定义对应一个实例。

global session :在一个全局的 HTTP session 中,一个 bean 定义对应一个实例。

 

depends-on 属性:指定依赖 bean

表示初始化 bean 之前强制一个或者多个 bean 被初始化。

 

lazy-int 属性:延迟初始化 bean

在默认的情况下, applicationContext 会在系统启动时实例化所有的 singleton bean ,但是可以通过 lazy-init bean 设置为延迟实例化。

 

init-method 属性:初始化回调

在实例化一个 bean 时,可能需要进行相关的初始化工作。使用 init-method 属性指定一个普通的初始化方法。

 

destroy-method 属性:析构回调

bean 被释放回收时,可以通过 destroy-method 属性来指定一个析构函数。

parent 属性:继承 bean

 

 

            配置 <bean> 的子元素

  通过 <property> 实现

 

1 直接使用 value 属性来表示

 

1. 直接使用value属性来表示 
<property name="message" value="ddd" />
2. 使用<value>子元素来表示 
			<property name="message">
				<value>World</value>
	</property>
3. 使用<ref>子元素指向另一个bean,这种方式将会在部署时验证所被引用的bean是否存在。而第二种在实际实例化时才会被发现。
			<property name="problem" ref="Problem" />
		或者:<property name="problem" />
				<ref name="Problem"/>
			</property>
		4. 如果被引用的bean在同一个xml文件中,且bean名字就是bean id,那么可以使用local属性,此属性允许xml解析器在解析xml文件时来对引用的bean进行验证。
<property name="problem" />
				<ref local="Problem"/>
			</property>
		5. 集合元素<list>,<set>,<map>,<props>的应用
	<bean id="CollectionTest" class="" >
		<property name="propertiesInfo">
			<props>
				<prop key="key1">key1</prop>
				<prop key="key2">key2</prop>
			</props>
		</property>
		<property name="listInfo">
			<list>
				<value>list1</value>
				<value>list2</value>
			</list>
		</property>
		<property name="mapInfo">
			<map>
				<entry key=” map1”>
					<value>map1 info</value>
				</entry>
				<entry>
					<key>
						<value>map2</value>
					</key>
					<value>map2 info</value>
				</entry>
			</map>
		</property>
		<property name="setInfo">
			<set>
				<value>set1</value>
				<value>set1</value>
			</set>
		</property>
	</bean>
		6. <bean>继承
子<bean>继承父<bean>的配置信息。如果子<bean>提供了父<bean>的配置信息,子<bean>的配置信息将覆盖父<bean>的配置信息。父<bean>一般声明为 abstract=”true”,表示这个<bean>不实例化为一个对应的bean。
<bean id="abstractDao" abstract="true">
		<property name="sqlMapClient" ref="sqlMapClient" />
	</bean>
<bean id="userDao" parent="abstractDao" class="com.demo.spring.dao.user.impl.UserDaoImpl" />
 

 

分享到:
评论

相关推荐

    spring bean 属性总结

    `&lt;property&gt;`元素用于配置Bean的属性。它具有以下属性: - **name属性**:表示要设置的属性名称。 - **value/ref/local/parent属性**:用于设置属性值或引用其他Bean。其中,`ref`用于引用同一工厂中的Bean,`...

    spring bean XML配置入门

    "spring-beans"是Spring中用于配置Bean的XML文件。该文件包含了一系列的&lt;bean&gt;元素,每个元素表示一个Java对象的定义,包括类名、属性值、初始化方法等。 4. **Bean的定义**: 在XML配置文件中,我们使用`&lt;bean&gt;`...

    Spring的Bean配置

    1. **XML配置**:传统的Spring配置通常使用XML文件,如`beans.xml`,其中包含了Bean的定义,包括类名、初始化方法、属性等。例如: ```xml &lt;bean id="exampleBean" class="com.example.ExampleClass"&gt; ...

    详解Spring 中如何控制2个bean中的初始化顺序

    需要注意的是,bean 属性的注入是在初始化方法调用之前。因此,在使用 DependsOn 注解时,需要了解 Spring 中 bean 的加载过程,以免出现错误。 其他实现方式 除了上述两种方式外,还有其他方式可以控制 2 个 bean...

    spring框架配置bean的高级属性

    ### Spring框架配置Bean的高级属性解析 在Spring框架中配置Bean是进行依赖注入的基础操作,而深入理解如何高效地配置Bean及其属性对于提高开发效率、优化项目结构具有重要意义。本文将详细解读标题“spring框架配置...

    SPRING:bean配置properties

    在Spring框架中,Bean的配置与管理是其核心功能之一,而通过`PropertyPlaceholderConfigurer`进行属性占位符的配置则是实现动态配置的关键技术。本文将深入解析如何利用`PropertyPlaceholderConfigurer`进行bean配置...

    Spring的Bean配置说明

    - **功能概述**:`&lt;beans&gt;`是Spring配置文件的根元素,用来包含一个或多个`&lt;bean&gt;`元素,用于定义Spring容器管理的各种Bean。 #### 二、`&lt;bean&gt;`元素详解 - **基础配置**: - **`class`属性**:表示JavaBean的全...

    day38 11-Spring的Bean的属性的注入:对象属性

    通过以上内容,我们可以了解到Spring中Bean属性注入的多种方式及其背后的原理。了解并熟练运用这些技巧,能够帮助我们更有效地设计和管理Spring应用中的对象依赖关系。在实际开发中,结合源码阅读和实践,可以进一步...

    详解Spring中Bean的生命周期和作用域及实现方式

    2. 使用Annotation配置:可以使用Annotation来配置Bean的生命周期和作用域。 3. 使用Java配置:可以使用Java代码来配置Bean的生命周期和作用域。 在本文中,我们介绍了Spring中Bean的生命周期和作用域及实现方式。...

    Spring Bean创建初始化流程.docx

    在`doCreateBean()`方法中,Spring会创建Bean的实例,`createBeanInstance(beanName, mbd, args)`执行Bean实例的创建,而`populateBean(beanName, mbd, instanceWrapper)`则负责填充Bean的属性,将依赖注入到Bean中...

    Spring定义bean的三种方式和自动注入

    在Spring框架中,管理Bean的方式主要有三种:XML配置、注解配置和Java配置。下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`...

    spring bean的生命周期

    如果在XML配置中指定了`class`属性,Spring将根据该属性创建Bean。 - **属性注入**:Spring会将依赖注入到Bean中,包括值注入(value,ref)和集合注入(list,map,props,set)。 - **初始化回调**:Spring支持...

    spring的Bean配置说明

    在Spring框架中,配置Bean是核心功能之一,它允许开发者声明、管理和注入应用程序中的对象。Spring使用XML配置文件来描述这些Bean及其依赖关系。以下是对Spring Bean配置的详细解释: 1. `&lt;beans&gt;` 根元素:这是...

    spring运行过程中动态注册bean

    在Spring框架中,动态注册Bean是一项非常实用的功能,它允许我们在应用运行时向Spring容器添加新的Bean定义。这种能力在很多场景下都是极其有用的,比如根据不同的环境配置加载不同的服务实现,或者在运行时根据某些...

    day38 17-Spring的Bean的属性注入:注解方式

    本文将详细讲解使用注解方式进行Bean属性注入的方法,以及相关的源码和工具应用。 首先,让我们了解Spring中的注解。在Spring 2.5版本之后,引入了基于注解的配置,这使得我们可以直接在类或方法上使用注解来声明...

    Spring bean 管理

    在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...

    spring创建bean简单示例

    2. **配置Bean**: 使用XML配置文件(`beans.xml`)来声明Bean。在`resources`目录下创建此文件,并指定`MyService`类的Bean定义。 ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:...

    spring的bean加载顺序样例项目

    - 当Spring容器启动时,它首先读取配置文件,解析Bean的定义,并创建一个BeanDefinition对象,该对象包含了Bean的所有信息,如类名、属性、依赖等。 - 如果有`@Component`注解的类,Spring会通过组件扫描找到并...

    spring中的bean

    3. **Java配置类**:Spring 3.0引入了Java配置,允许我们使用Java类来配置Bean。 ```java @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } } ``` 这里的`@Bean...

    day38 12-Spring的Bean的属性的注入:名称空间p

    本文将深入探讨Spring中的"名称空间p",这是一种用于配置Bean属性注入的方式,特别是在XML配置文件中。我们将通过源码分析和实际例子来理解其工作原理。 ### Spring Bean属性注入 Bean属性注入主要有两种方式:`...

Global site tag (gtag.js) - Google Analytics