`
Far_ranqing
  • 浏览: 10724 次
  • 性别: Icon_minigender_2
  • 来自: 保定
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring基础语义(二)

阅读更多

Bean常用属性介绍()

<bean name="xxx" class="指定的bean" scope="singleton"></bean>

id属性:Java BeanBeanFactory中的唯一标识,代码中通过BeanFactory获取JavaBean实例时需以此作为索引名称。

name属性:同id大致相同,如果给bean增加别名,可以通过name属性指定一个或多个idclass属性: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可以定义为两种部署模式:singletonnon-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 检查类的内部来选择constructorbyType。如果找到一个缺

省的构造函数,那么就会应用byType

注:关于自动装配的相关知识请参照redarmy《自动装配》文档介绍

default-dependency-check属性:默认的依赖检查模式。可选四种。

none :不进行依赖检查。没有指定值的bean属性仅仅是没有设值。

simple:对基本类型和集合(除了合作者外,比如其他的bean,所有东西)进行依赖检查。

Object:对合作者进行依赖检查。

all :对合作者,基本类型和集合都进行依赖检查。

分享到:
评论

相关推荐

    spring教程+电子书

    **Spring 基础语义**: - **Dependency Injection (DI)**:依赖注入是一种设计模式,用于简化对象之间的耦合。在 Spring 中,可以通过三种方式实现依赖注入: - **接口注入**:通过接口传递依赖对象。 - **设值...

    spring-5.2.9.RELEASE-dist.zip(spring-framework-5.2.9.RELEASE)

    "libs"文件夹下包含了一系列的JAR包,它们是Spring Framework的基础组件和依赖库。这些JAR包涵盖了Spring的核心模块,如core-container、web、data、amqp、batch等,还包括了对其他开源框架如Hibernate、MyBatis的...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.5.4. 为不同的bean配置不同的事务语义 9.5.5. &lt;tx:advice/&gt; 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程式...

    spring 入门教程

    #### 二、Spring框架的基础语义 Spring框架的基础语义主要围绕依赖注入(Dependency Injection, DI)展开。依赖注入是一种设计模式,用于减少类之间的耦合,提高代码的可测试性和可维护性。在Spring中,依赖注入...

    spring教程-经典官方教程(适合初学者)

    - 构建Spring基础代码、Spring基础语义、Dependency Injection等章节,详细阐述了Spring的核心概念,如依赖注入(DI),这是Spring框架的核心特性之一。依赖注入支持多种实现类型,包括接口注入、构造子注入和设值...

    spring+MVC中文教程pdf

    2. Spring基础语义:讲解了Spring的核心概念,包括依赖注入(Dependency Injection,DI)。 3. 依赖注入的几种实现类型: - Type1接口注入:通过对象的接口实现依赖的注入。 - Type2构造子注入:通过构造函数实现...

    Spring项目的xsd文件大全

    在Spring框架中,XSD文件为Spring配置文件提供了语义化的元素和属性,使得开发者能够用XML来声明和配置bean、依赖关系、AOP代理、事务管理等。 1. Springmvc的XSD文件: 在Spring MVC中,`spring-mvc.xsd`通常被...

    Spring Data MongoDB中文文档

    这部分内容为 Spring Data 文档支持提供了一些基础介绍,并假设用户已经熟悉文档数据库(如 MongoDB 和 CouchDB)以及 Spring 的概念。 在 Spring Data MongoDB 中,最显著的功能之一是仓库(Repository)支持。...

    Spring开发指南

    在Spring初探部分,首先涉及到的是准备工作,包括安装必要的开发环境和配置工具,为构建Spring基础代码做准备。接下来,指南会介绍Spring的基础语义,特别是依赖注入(Dependency Injection,简称DI)的概念及其在...

    spring-aop-3.0.xsd spring-beans-3.0 spring-context-3.0.xsd spring-mvc-3.1.xsd

    `spring-beans` 是 Spring 框架的基础,它处理所有对象的创建、配置和管理。`spring-beans-3.0.xsd` 文件定义了 Spring 容器如何读取并解析 XML 配置文件,来实例化、装配和管理 beans。在这个文件中,你可以定义 ...

    spring 4.2.5 jar包 及 注解

    1. @Component:这是所有Spring组件的基础注解,可以标记在任何bean类上,表明该类将被Spring容器管理。 2. @Service、@Repository和@Controller:它们分别用于标记服务层、数据访问层和控制器层的组件,是对@...

    spring中文教程(spring开发指南)_Final.doc

    #### Spring基础语义 - **Dependency Injection (DI)**:即依赖注入,是Spring框架的核心特性之一,它允许在运行时自动完成对象间的依赖关系绑定,从而提高代码的灵活性和可测试性。 - **Type1 接口注入**:通过...

    spring MVC中文教程.pdf

    在构建Spring基础代码时,需要理解Spring基础语义,其中的核心概念之一是依赖注入(Dependency Injection,DI),它允许通过构造器参数、工厂方法参数或属性来将依赖关系注入到对象中。 依赖注入有几种实现类型,...

    spring+MVC中文教程pdf.pdf

    - **Spring基础语义**:理解Spring框架的基本概念和术语对于正确使用Spring至关重要。 - **依赖注入的几种实现类型**:了解并选择合适的依赖注入方式,可以使代码结构更加清晰、可读性更强。 2. **Spring MVC的...

    spring MVC中文教程

    - **Spring基础语义**:深入探讨Spring框架的基本概念和技术细节,如依赖注入、AOP等方面的知识。 #### 六、实战经验分享 - 本书还包含了许多作者在实际项目中的经验和心得,这些实践经验对于读者理解和应用Spring ...

    Spring开发指南(简化版)

    #### Spring基础语义 - **Dependency Injection (DI)**:依赖注入是Spring框架的核心特性之一,它通过外部容器自动满足对象的依赖关系,从而实现对象之间的解耦。在Spring中,可以通过三种方式实现依赖注入:接口...

Global site tag (gtag.js) - Google Analytics