今天发现了construtor-arg和property的一点不同之处,详述如下。(Spring版本2.5.6)
对于int类型的属性:
property的value可以指定某个类的public static变量,而construtor-arg的value则不能。
比如:
这个是没有问题的
<bean id="transport"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField">
<value>com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP</value>
</property>
</bean>
而这个则会报错
<bean id="a" class="com.chjiang.A" init-method="init">
<constructor-arg type="int" index="0">
<value>com.chjiang.B.STATIC_VARIABLE</value>
</constructor-arg>
</bean>
需要改成这样才可以
<bean id="a" class="com.chjiang.A" init-method="init">
<constructor-arg type="int" index="0" value="0">
</bean>
分享到:
相关推荐
"spring-beans"是Spring中用于配置Bean的XML文件。该文件包含了一系列的<bean>元素,每个元素表示一个Java对象的定义,包括类名、属性值、初始化方法等。 4. **Bean的定义**: 在XML配置文件中,我们使用`<bean>`...
1. **XML配置**:传统的Spring配置通常使用XML文件,如`beans.xml`,其中包含了Bean的定义,包括类名、初始化方法、属性等。例如: ```xml <bean id="exampleBean" class="com.example.ExampleClass"> ...
在 Spring 框架中,控制多个 bean 的初始化顺序是一个常见的问题。本篇文章将详细介绍如何控制 2 个 bean 的初始化顺序,提供了多种实现方式,并分析了每种方式的优缺。 问题场景 在实际开发中,我们经常会遇到...
在Spring框架中,Bean的配置与管理是其核心功能之一,而通过`PropertyPlaceholderConfigurer`进行属性占位符的配置则是实现动态配置的关键技术。本文将深入解析如何利用`PropertyPlaceholderConfigurer`进行bean配置...
- **功能概述**:`<beans>`是Spring配置文件的根元素,用来包含一个或多个`<bean>`元素,用于定义Spring容器管理的各种Bean。 #### 二、`<bean>`元素详解 - **基础配置**: - **`class`属性**:表示JavaBean的全...
2. 使用Annotation配置:可以使用Annotation来配置Bean的生命周期和作用域。 3. 使用Java配置:可以使用Java代码来配置Bean的生命周期和作用域。 在本文中,我们介绍了Spring中Bean的生命周期和作用域及实现方式。...
在Spring框架中,Bean的创建和初始化是IoC(Inversion of Control)容器的核心功能,这一过程涉及到多个...Spring的IoC容器使得应用更加灵活和易于测试,因为Bean的依赖关系可以通过配置来调整,而不是硬编码在代码中。
综上所述,Spring Bean重复执行两次的问题通常是由于配置错误、依赖注入循环、初始化回调的不当使用、静态工厂方法的误用、AOP代理的配置问题或是Bean作用域设置不准确导致的。通过仔细检查和修正这些问题,可以避免...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
在Spring框架中,管理Bean的方式主要有三种:XML配置、注解配置和Java配置。下面将详细介绍这三种方式以及Spring的自动注入机制。 1. **基于XML的Bean定义**: 在XML配置中,我们通常在`applicationContext.xml`...
Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...
2. **配置Bean**: 使用XML配置文件(`beans.xml`)来声明Bean。在`resources`目录下创建此文件,并指定`MyService`类的Bean定义。 ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:...
3. **Java配置类**:Spring 3.0引入了Java配置,允许我们使用Java类来配置Bean。 ```java @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } } ``` 这里的`@Bean...
- Spring中的Bean是在`beans.xml`或Java配置类中通过`<bean>`标签定义的,每个Bean都有一个唯一的ID或名称。 - Bean的作用域包括单例(`singleton`)、原型(`prototype`)、请求(`request`)、会话(`session`)...
在Spring框架中,配置Bean是核心功能之一,它允许开发者声明、管理和注入应用程序中的对象。Spring使用XML配置文件来描述这些Bean及其依赖关系。以下是对Spring Bean配置的详细解释: 1. `<beans>` 根元素:这是...
4. 为了启用自动扫描和注册Bean定义,需要在Spring配置文件中使用`<context:component-scan>`标签,并通过`base-package`属性来指定需要扫描的类路径位置。 5. 在配置文件中还可以通过`<aop:aspectj-autoproxy/>`...
线程中的操作往往涉及到多线程环境下的资源共享和管理,因此,如何在线程中正确地获取并使用Spring通过注解注入的对象,是一个常见的问题。本文将详细探讨这个主题。 首先,Spring的注解主要分为三类:配置注解(如...
### Spring框架配置Bean的高级属性解析 在Spring框架中配置Bean是进行依赖注入的基础操作,而深入理解如何高效地配置Bean及其属性对于提高开发效率、优化项目结构具有重要意义。本文将详细解读标题“spring框架配置...
通过正确配置Bean,我们可以控制对象的生命周期,实现依赖注入,以及在多线程或多用户环境下确保正确的行为。 现在,考虑到压缩包文件名称`spring_02_bean`,这可能是一个关于Spring Bean配置的代码示例或教程。在...
在 Web 应用中,Spring 通常作为 Servlet 容器的一部分工作,例如 Tomcat 或 Jetty,通过 XML 配置文件或注解来定义 Bean 的配置。然而,在非 Web 的 Java 应用程序,如桌面应用或服务,我们同样可以利用 Spring 的 ...