`

Spring Bean的配置

阅读更多

<beans>
   <description>
       Spring Bean Configuration Sample
  </description>
  <bean
   id="TheAction" 
   class="net.xiaxin.spring.qs.UpperAction"
   singleton="true" 
   init-method="init" 
   destroy-method="cleanup" 
   depends-on="ActionManager">

   <property name="message">
      <value>HeLLo</value> 
   </property>  

<property name="desc">
      <null/>
   </property>

   <property name="dataSource">
       <ref local="dataSource"/> 
   </property>
  </bean>
  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>java:comp/env/jdbc/sample</value>
    </property>
  </bean>
</beans>

 

1、 id
Java Bean在BeanFactory中的唯一标识,代码中通过BeanFactory获取JavaBean实例时需以此作为索引名称。

2、 class
Java Bean 类名

3、 singleton
  指定此Java Bean是否采用单例(Singleton)模式,如果设为“true”,则在BeanFactory作用范围内,只维护此Java Bean的一个实例,代码通过BeanFactory获得此Java Bean实例的引用。反之,如果设为“false”,则通过BeanFactory获取此Java Bean实例时,BeanFactory每次都将创建一个新的实例返回。

4、init-method
   初始化方法,此方法将在BeanFactory创建JavaBean实例之后,在向应用层返回引用之前执行。一般用于一些资源的初始化工作。

5、destroy-method
   销毁方法。此方法将在BeanFactory销毁的时候执行,一般用于资源释放。

6、 depends-on
   Bean依赖关系。一般情况下无需设定。Spring会根据情况组织各个依赖关系的构建工作(这里示例中的depends-on属性非必须)。只有某些特殊情况下,如JavaBean中的某些静态变量需要进行初始化(这是一种BadSmell,应该在设计上应该避免)。通过depends-on指定其依赖关系可保证在此Bean加载之前,首先对depends-on所指定的资源进行加载。

7、 <value>
   通过<value/>节点可指定属性值。BeanFactory将自动根据Java Bean对应的属性类型加以匹配。下面的”desc”属性提供了一个null值的设定示例。注意<value></value>代表一个空字符串,如果需要将属性值设定为null,必须使用<null/>节点。

8、 <ref>
  指定了属性对BeanFactory中其他Bean的引用关系。示例中,TheAction的dataSource属性引用了id为dataSource的Bean。BeanFactory将在运行期创建dataSource bean实例,并将其引用传入TheAction Bean的dataSource属性。

下面的代码演示了如何通过BeanFactory获取Bean实例:
   InputStream is = new FileInputStream("bean.xml");
   XmlBeanFactory factory = new XmlBeanFactory(is);
   Action action = (Action) factory.getBean("TheAction");

此时我们获得的Action实例,由BeanFactory进行加载,并根据配置文件进行了初始化和属性设定。

分享到:
评论

相关推荐

    创建SpringBean配置工具类

    创建SpringBean配置工具类(安全)如: &lt;bean id=... scope="prototype"&gt;&lt;/bean&gt;

    spring bean XML配置入门

    在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean配置的创建和管理,同时结合Maven来构建和运行Spring应用。 通过以上内容,你应该对Spring框架中的Bean XML配置有了初步的理解。掌握这些知识点后,你将...

    普元eos-springbean开发

    - **SpringBean配置**:针对报销单维护的具体需求,配置相应的SpringBean,实现业务逻辑处理。 #### SpringBean配置详解 - **应用级配置**:主要涉及整个应用级别的配置信息,如数据源、事务管理等。 - **构件包...

    Spring Bean简单应用实例

    在提供的“BeanTest”文件中,我们可以预期看到一个简单的Spring Bean配置和测试示例。通常,这将包括以下部分: 1. **Bean定义**:Bean定义是Spring容器如何创建和管理Bean的描述。它可以是一个XML配置文件中的...

    spring bean的生命周期

    - **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...

    Spring的Bean配置

    在本文中,我们将深入探讨Spring中的Bean配置,包括IoC和DI的概念,Bean的配置方式,以及不同类型的IOC容器。 **Spring的Bean配置**: 在Spring中,Bean是应用中的对象,它们由Spring IoC容器负责创建、管理和装配...

    spring的Bean配置说明

    以下是对Spring Bean配置的详细解释: 1. `&lt;beans&gt;` 根元素:这是Spring配置文件的起点,它包含了所有的Bean定义。Spring容器会解析这个文件并创建相应的Bean实例。 2. `&lt;bean&gt;` 元素:这是Spring配置中最常见的...

    Spring Bean创建初始化流程.docx

    在Spring框架中,Bean的创建和初始化是IoC(Inversion of Control)容器的核心功能,这一过程涉及到多个...Spring的IoC容器使得应用更加灵活和易于测试,因为Bean的依赖关系可以通过配置来调整,而不是硬编码在代码中。

    Spring项目bean基础配置代码

    现在,考虑到压缩包文件名称`spring_02_bean`,这可能是一个关于Spring Bean配置的代码示例或教程。在这样的资源中,你可能会找到如何在XML配置文件中声明Bean、设置别名以及指定作用范围的实际示例代码。通过阅读和...

    Spring bean 动态注册,jar包热替换

    Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...

    Spring Bean重复执行两次(实例被构造两次)问题分析

    综上所述,Spring Bean重复执行两次的问题通常是由于配置错误、依赖注入循环、初始化回调的不当使用、静态工厂方法的误用、AOP代理的配置问题或是Bean作用域设置不准确导致的。通过仔细检查和修正这些问题,可以避免...

    Spring的Bean配置说明

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

    SPRING:bean配置properties

    本文将深入解析如何利用`PropertyPlaceholderConfigurer`进行bean配置的properties操作,包括单个properties文件的配置、多个properties文件的集成以及多个`PropertyPlaceholderConfigurer`的协同工作,旨在帮助...

    spring bean 属性总结

    Spring的`&lt;beans&gt;`和`&lt;bean&gt;`元素及其属性提供了强大的配置能力,使开发者能够灵活地定义、配置和管理应用程序中的组件。通过深入了解这些元素和属性,开发人员可以更有效地利用Spring框架的功能,构建更加健壮和可...

    实例化Spring bean的两种工厂方法

    在Spring配置文件中,我们需要定义一个工厂bean,然后指定该工厂bean的`factory-bean`属性,以及工厂bean中用于创建目标bean的方法,即`factory-method`属性。下面是一个简单的例子: ```xml &lt;bean id="myFactory...

    spring bean life cycle

    `@Component`注解的类会自动被Spring扫描并注册为Bean,而`@Configuration`类则提供了更高级别的配置方式,可以替代XML配置文件。 此外,Spring提供了一种名为BeanPostProcessor的接口,它允许我们自定义Bean实例化...

    springBean加载过程源码解析文档,附有代码类名和行数

    ApplicationContextInitializer 是 Spring 上下文初始化类,负责加载配置文件和注册 Bean。通过查看源码,我们可以发现 Spring 自动加载配置文件的代码。 SpringApplication 运行 SpringApplication 的 run 方法是...

    Spring Bean 加载顺序 .

    Spring会首先读取这些配置源,将其转换为Bean定义。 2. **Bean定义注册**: 解析后的配置会被转化为BeanDefinition对象,包含Bean的类名、依赖、初始化方法等信息。这些BeanDefinition被注册到Spring的...

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

    Spring 中控制 2 个 bean 的初始化顺序 在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 ...

    spring bean的生命周期测试代码

    在Spring框架中,Bean的生命周期管理是其核心特性之一,它允许开发者控制Bean从创建到销毁的整个过程。本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们...

Global site tag (gtag.js) - Google Analytics