Bean常用属性介绍(一)
<bean name="xxx" class="指定的bean类" scope="singleton"></bean>
id属性:Java Bean在BeanFactory中的唯一标识,代码中通过BeanFactory获取JavaBean实例时需以此作为索引名称。
name属性:同id大致相同,如果给bean增加别名,可以通过name属性指定一个或多个id。class属性:Java Bean 类名。
Scpoe属性:指明bean的作用域,常用的有:singleton,prototype。
singleton:在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:
<bean id="xxx" class="xxxx" lazy-init="true"/>
如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=“true“,如下:
<beans default-lazy-init="true“ ...>
prototype: 每次从容器获取bean都是新的对象。
<property name="xxx" value="hello,你好"></property>
<property name="xxx" ref="xxx"/>
property:用于设置一个属性
注:name的值要和你注入的bean中的成员属性的名称相同。
ref:指定了属性对BeanFactory中其他Bean的引用关系
value:指定bean的属性值
<constructor-arg type="java.lang.String" value="hp电脑"/>
<constructor-arg index="0" value="hp电脑"/>
constructor-arg:使用构造方法注入,指定构造方法的参数。注:相应的bean中必须含有制定使用的构造器否则会出现异常
index属性:设置参数的序号,注:索引从0开始
type属性:参数类型。
ref属性:同上ref。
value属性:参数的值。
<bean id="xxx" class="指定的类" scope="prototype" depends-on="xxx">
depends-on属性:Bean依赖关系。一般情况下无需设定。Spring会根据情况组织各个依赖关系的构建工作。只有某些特殊情况下,如JavaBean中的某些静态变量需要进行初始化(这是一种BadSmell,应该在设计上应该避免)。通过depends-on指定其依赖关系可保证在此Bean加载之前,首先对depends-on所指定的资源进行加载。
<property name="email"><null/></property>
null值的传递:有两种:一:<value>null</value> 二:<null/>
<bean id="xxx" class="指定的类" init-method="方法名" destroy-method="方法名"/>
init-method属性:初始化方法,此方法将在BeanFactory创建JavaBean实例之后,在向应用层返回引用之前执行。一般用于一些资源的初始化工作。
destroy-method属性:销毁方法。此方法将在BeanFactory销毁的时候执行,一般用于资源释放。
Bean中常用属性介绍(二)
在spring 中bean可以定义为两种部署模式:singleton和non-singleton
singleton:只有一个共享的实例存在
non-singleton:每次请求都创建新的实例
singleton属性:指定此Java Bean是否采用单例(Singleton)模式,如果设为“true”
则在BeanFactory作用范围内,只维护此Java Bean的一个实例,代码通过
BeanFactory获得此Java Bean实例的引用。反之,如果设为“false”则通过
BeanFactory获取此JavaBean实例时,BeanFactory每次都将创建一个新的
实例返回。
<bean id="xxx" class="指定的bean" scope="prototype" autowire="byName">
autowire属性:bean自动装配模式。可选5种模式
no:不使用自动装配。Bean的引用必须通过ref元素定义。
byName:通过属性名字进行自动装配.
byType:如果BeanFactory中正好有一个同属性类型一样的bean,就自动装配这个属性。
如果有多于一个这样的bean,就抛出一个致命异常,它指出你可能不能对那个bean使用byType的自动装配。如果没有匹配的bean,则什么都不会发生,属性不会被设置。如果这是你不想要的情况(什么都不发生),通过设置dependency-check="objects"属性值来指定在这种情况下应该抛出错误。
constructor:这个同byType类似,不过是应用于构造函数的参数。如果在BeanFactory
不恰好有一个bean与构造函数参数相同类型,则一个致命的错误会产生。
autodetect: 通过对bean 检查类的内部来选择constructor或byType。如果找到一个缺
省的构造函数,那么就会应用byType。
注:关于自动装配的相关知识请参照redarmy《自动装配》文档介绍
default-dependency-check属性:默认的依赖检查模式。可选四种。
none :不进行依赖检查。没有指定值的bean属性仅仅是没有设值。
simple:对基本类型和集合(除了合作者外,比如其他的bean,所有东西)进行依赖检查。
Object:对合作者进行依赖检查。
all :对合作者,基本类型和集合都进行依赖检查。
分享到:
相关推荐
**Spring 基础语义**: - **Dependency Injection (DI)**:依赖注入是一种设计模式,用于简化对象之间的耦合。在 Spring 中,可以通过三种方式实现依赖注入: - **接口注入**:通过接口传递依赖对象。 - **设值...
"libs"文件夹下包含了一系列的JAR包,它们是Spring Framework的基础组件和依赖库。这些JAR包涵盖了Spring的核心模块,如core-container、web、data、amqp、batch等,还包括了对其他开源框架如Hibernate、MyBatis的...
9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程式...
#### 二、Spring框架的基础语义 Spring框架的基础语义主要围绕依赖注入(Dependency Injection, DI)展开。依赖注入是一种设计模式,用于减少类之间的耦合,提高代码的可测试性和可维护性。在Spring中,依赖注入...
- 构建Spring基础代码、Spring基础语义、Dependency Injection等章节,详细阐述了Spring的核心概念,如依赖注入(DI),这是Spring框架的核心特性之一。依赖注入支持多种实现类型,包括接口注入、构造子注入和设值...
2. Spring基础语义:讲解了Spring的核心概念,包括依赖注入(Dependency Injection,DI)。 3. 依赖注入的几种实现类型: - Type1接口注入:通过对象的接口实现依赖的注入。 - Type2构造子注入:通过构造函数实现...
在Spring框架中,XSD文件为Spring配置文件提供了语义化的元素和属性,使得开发者能够用XML来声明和配置bean、依赖关系、AOP代理、事务管理等。 1. Springmvc的XSD文件: 在Spring MVC中,`spring-mvc.xsd`通常被...
这部分内容为 Spring Data 文档支持提供了一些基础介绍,并假设用户已经熟悉文档数据库(如 MongoDB 和 CouchDB)以及 Spring 的概念。 在 Spring Data MongoDB 中,最显著的功能之一是仓库(Repository)支持。...
在Spring初探部分,首先涉及到的是准备工作,包括安装必要的开发环境和配置工具,为构建Spring基础代码做准备。接下来,指南会介绍Spring的基础语义,特别是依赖注入(Dependency Injection,简称DI)的概念及其在...
`spring-beans` 是 Spring 框架的基础,它处理所有对象的创建、配置和管理。`spring-beans-3.0.xsd` 文件定义了 Spring 容器如何读取并解析 XML 配置文件,来实例化、装配和管理 beans。在这个文件中,你可以定义 ...
1. @Component:这是所有Spring组件的基础注解,可以标记在任何bean类上,表明该类将被Spring容器管理。 2. @Service、@Repository和@Controller:它们分别用于标记服务层、数据访问层和控制器层的组件,是对@...
#### Spring基础语义 - **Dependency Injection (DI)**:即依赖注入,是Spring框架的核心特性之一,它允许在运行时自动完成对象间的依赖关系绑定,从而提高代码的灵活性和可测试性。 - **Type1 接口注入**:通过...
在构建Spring基础代码时,需要理解Spring基础语义,其中的核心概念之一是依赖注入(Dependency Injection,DI),它允许通过构造器参数、工厂方法参数或属性来将依赖关系注入到对象中。 依赖注入有几种实现类型,...
- **Spring基础语义**:理解Spring框架的基本概念和术语对于正确使用Spring至关重要。 - **依赖注入的几种实现类型**:了解并选择合适的依赖注入方式,可以使代码结构更加清晰、可读性更强。 2. **Spring MVC的...
- **Spring基础语义**:深入探讨Spring框架的基本概念和技术细节,如依赖注入、AOP等方面的知识。 #### 六、实战经验分享 - 本书还包含了许多作者在实际项目中的经验和心得,这些实践经验对于读者理解和应用Spring ...
#### Spring基础语义 - **Dependency Injection (DI)**:依赖注入是Spring框架的核心特性之一,它通过外部容器自动满足对象的依赖关系,从而实现对象之间的解耦。在Spring中,可以通过三种方式实现依赖注入:接口...