<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配置工具类(安全)如: <bean id=... scope="prototype"></bean>
在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean配置的创建和管理,同时结合Maven来构建和运行Spring应用。 通过以上内容,你应该对Spring框架中的Bean XML配置有了初步的理解。掌握这些知识点后,你将...
- **SpringBean配置**:针对报销单维护的具体需求,配置相应的SpringBean,实现业务逻辑处理。 #### SpringBean配置详解 - **应用级配置**:主要涉及整个应用级别的配置信息,如数据源、事务管理等。 - **构件包...
在提供的“BeanTest”文件中,我们可以预期看到一个简单的Spring Bean配置和测试示例。通常,这将包括以下部分: 1. **Bean定义**:Bean定义是Spring容器如何创建和管理Bean的描述。它可以是一个XML配置文件中的...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
在本文中,我们将深入探讨Spring中的Bean配置,包括IoC和DI的概念,Bean的配置方式,以及不同类型的IOC容器。 **Spring的Bean配置**: 在Spring中,Bean是应用中的对象,它们由Spring IoC容器负责创建、管理和装配...
以下是对Spring Bean配置的详细解释: 1. `<beans>` 根元素:这是Spring配置文件的起点,它包含了所有的Bean定义。Spring容器会解析这个文件并创建相应的Bean实例。 2. `<bean>` 元素:这是Spring配置中最常见的...
在Spring框架中,Bean的创建和初始化是IoC(Inversion of Control)容器的核心功能,这一过程涉及到多个...Spring的IoC容器使得应用更加灵活和易于测试,因为Bean的依赖关系可以通过配置来调整,而不是硬编码在代码中。
现在,考虑到压缩包文件名称`spring_02_bean`,这可能是一个关于Spring Bean配置的代码示例或教程。在这样的资源中,你可能会找到如何在XML配置文件中声明Bean、设置别名以及指定作用范围的实际示例代码。通过阅读和...
Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...
综上所述,Spring Bean重复执行两次的问题通常是由于配置错误、依赖注入循环、初始化回调的不当使用、静态工厂方法的误用、AOP代理的配置问题或是Bean作用域设置不准确导致的。通过仔细检查和修正这些问题,可以避免...
### Spring的Bean配置详解 #### 一、Spring配置文件根元素`<beans>`解析 - **功能概述**:`<beans>`是Spring配置文件的根元素,用来包含一个或多个`<bean>`元素,用于定义Spring容器管理的各种Bean。 #### 二、`...
本文将深入解析如何利用`PropertyPlaceholderConfigurer`进行bean配置的properties操作,包括单个properties文件的配置、多个properties文件的集成以及多个`PropertyPlaceholderConfigurer`的协同工作,旨在帮助...
Spring的`<beans>`和`<bean>`元素及其属性提供了强大的配置能力,使开发者能够灵活地定义、配置和管理应用程序中的组件。通过深入了解这些元素和属性,开发人员可以更有效地利用Spring框架的功能,构建更加健壮和可...
在Spring配置文件中,我们需要定义一个工厂bean,然后指定该工厂bean的`factory-bean`属性,以及工厂bean中用于创建目标bean的方法,即`factory-method`属性。下面是一个简单的例子: ```xml <bean id="myFactory...
`@Component`注解的类会自动被Spring扫描并注册为Bean,而`@Configuration`类则提供了更高级别的配置方式,可以替代XML配置文件。 此外,Spring提供了一种名为BeanPostProcessor的接口,它允许我们自定义Bean实例化...
ApplicationContextInitializer 是 Spring 上下文初始化类,负责加载配置文件和注册 Bean。通过查看源码,我们可以发现 Spring 自动加载配置文件的代码。 SpringApplication 运行 SpringApplication 的 run 方法是...
Spring会首先读取这些配置源,将其转换为Bean定义。 2. **Bean定义注册**: 解析后的配置会被转化为BeanDefinition对象,包含Bean的类名、依赖、初始化方法等信息。这些BeanDefinition被注册到Spring的...
Spring 中控制 2 个 bean 的初始化顺序 在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 ...
在Spring框架中,Bean的生命周期管理是其核心特性之一,它允许开发者控制Bean从创建到销毁的整个过程。本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们...