如果 PropertyOverrideConfigurer 的属性文件有对应配置信息,则 XML 文件中的配置信息被覆盖:否则,直接使用 XML 文件中的配置信息。使用 PropertyOverrideConfigurer属性文件的格式如下:
beanName.property=value
beanName是属性占位符企图覆盖的bean 名, property 是企图覆盖的属性名。看如下配置文件:
<?xml version="1.0" encoding="gb2312"?>
<!--指定Spring 配置文件的dtd>
<lDOCTYPE beansPUBLiC"-//SPRiNG//DTDBEAN//EN"''
http://www.springframework.org/dtd/spring-beans.dtd''>
<!…Spring配置文件的根元素>
<beans><'配置一个属性占位符beanoApplictionContext能自动识别PropertyPlaceholder
Configurer bean --><bean id="propertyOverrider"
class=町 org.springframework.beans.factory.config.Property
OverrideConfigurer"><property name="locations">
<list><value>dbconn.properties</value>
<!-如果有多个属性文件,依次在下面列出来--〉
</list></property>
</bean>
<'…配置本地的 DBCP 数据源--〉
<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManager
DataSource" destroy-method="close"><property name="
driverClassName" value="dd"/><property name="url"
value="xx"/><property name="username" value="dd"/>
<property name="password" value="dd"/>
</bean></beans>
容器自动注册propertyOverriderbean,读取dbconn.properties文件中的属性,并用于覆盖目标bean 的属性。其配置文件中dataSourcebean的属性完全是随意输入的,最终被属性文件的配置覆盖,其属性文件如下:
dataSource.driverClassName=com.mysql.jdbc.Driver
dataSource.url=jdbc:mysql://wonder:3306/j2ee
dataSource.username=root
dataSource.password=32147
注意属性文件的格式必须是:
beanName.property=value
也就是说, dataSource必须是容器中真实存在的bean名,否则程序将出错。注意:仅仅察看XML定义文件,程序无法知道BeanFactory定义是否被覆盖;当有多个 PorpertyOverrideConfigurer对同一个bean属性定义了覆盖,则最后一个覆盖有效。
分享到:
相关推荐
### 属性占位符配置器:Spring框架中的高级配置机制 #### 一、概念解析 在Spring框架中,**属性占位符配置器**(Property Placeholder Configurator)是一种强大的配置工具,它允许开发者在配置文件中使用占位符来...
Spring实战之属性占位符配置器用法示例 Spring框架中提供了属性占位符配置器(PropertyPlaceholderConfigurer),用于读取外部属性文件,并将其设置为Spring配置文件的数据。本文将详细介绍Spring实战之属性占位符...
在Spring框架中,属性占位符`PropertyPlaceholderConfigurer`是一个重要的工具,用于处理配置文件中的属性值引用。它使得我们可以在XML配置文件中使用占位符`${...}`来引用外部属性文件中的值,从而使应用配置更加...
在Spring框架中,属性覆盖占位符配置器(PropertyOverrideConfigurer)是一个非常实用的工具,它允许我们在不修改Spring配置文件的情况下,通过外部属性文件来动态地覆盖Bean的属性值。这种方式增强了应用的灵活性...
Spring JDBC 占位符配置器 这个实现使用 JDBC 数据源和 SQL 语句解析占位符。 大部分测试代码取自。 特拉维斯 CI : 使用示例 构建并安装到本地 Maven 存储库中 ./gradlew publishToMavenLocal 在您的项目中包含...
Spring及Mybatis整合占位符解析失败问题解决 Spring framework和Mybatis是两个非常popular的Java框架,前者是一个基于Java的开源框架,提供了一个通用的编程模型和配置机制,可以帮助开发者快速开发企业级应用程序...
解决Spring国际化文案占位符失效问题的方法 Spring国际化文案占位符是指在Spring框架中使用MessageSource来处理国际化文案,但是有时候占位符可能不会被正确地替换,导致文案显示不正确。这种情况下,需要了解...
然后在其他配置(如Spring的application.properties或log4j.properties)中引用这些占位符: ```properties spring.datasource.url=${db.url} spring.datasource.username=${db.username} spring.datasource....
总结起来,Spring Boot的环境属性占位符解析和类型转换是其核心功能之一,它使得应用配置更加灵活和强大。理解这一机制可以帮助我们编写更健壮、可维护的代码,避免在开发过程中踩坑。在实际应用中,应充分利用这些...
PropertyPlaceholderConfigurer 是 Spring 框架中的一个类,用于读取.properties文件并将占位符${...}替换为实际的配置信息。 例如,下面是一个使用 PropertyPlaceholderConfigurer 实现占位符${...}替换的示例代码...
在Spring框架中,属性编辑器(PropertyEditor)是一种强大的工具,允许我们自定义类型转换过程。当我们需要将字符串形式的数据转换为Java对象时,属性编辑器就发挥了关键作用。例如,从请求参数或配置文件中读取的...
标题中的“Spring的属性管理”指的是Spring框架中用于管理和注入应用程序配置属性的机制。Spring作为一个广泛应用的Java企业级开发框架,提供了多种方式来处理和管理应用程序的属性,这些属性通常包含数据库连接信息...
3. **web.xml**:虽然不是Spring框架的一部分,但在Spring MVC应用中,它是部署描述符,用于配置Spring的DispatcherServlet以及拦截器、视图解析器等。 4. **application.properties**或**application.yml**:随着...
在Spring框架中,属性编辑器(PropertyEditor)扮演着至关重要的角色。它们是JavaBeans规范的一部分,用于在Java对象和其字符串表示之间进行转换。在Spring中,我们可以通过自定义属性编辑器来处理特定类型的值,...
Spring Boot工具类静态属性注入及多环境配置详解 Spring Boot工具类静态属性注入是指使用Spring Boot框架时,如何将配置信息注入到工具类的静态变量中,以便在程序中使用这些配置信息。这种方式可以方便地在不同的...
Spring Boot 配置文件占位符是指在 Spring Boot 项目中使用占位符来配置应用程序的各种参数。在 Spring Boot 中,默认的配置文件是 application.properties,通过在该文件中定义各种参数,可以实现对应用程序的配置...
两个@符号是springboot为替代${}属性占位符产生,原因是${}会被maven处理,所以应该是起不到引用变量的作用。 @@方式可以引用springboot非默认配置文件(即其他配置文件)中的变量; springboot默认配置文件是 src/...
Spring支持通过属性值、构造器参数、setter方法等多种方式进行注入。 6. **运行环境与构建工具**: 题目描述中提到的运行环境是Eclipse,这是一个流行的Java集成开发环境,提供了便捷的代码编辑、调试等功能。而...
`PropertyPlaceholderConfigurer`是Spring提供的一个bean定义解析器,它能够解析bean定义中的${}占位符,并将其替换为属性文件中的相应值。通常,这些属性文件位于项目的类路径下,或者通过classpath:前缀指定其他...
通过这种方式,我们可以轻松地在Spring配置文件中使用占位符语法`${property.name}`来引用`dbQuery.properties`中的属性。 ### 配置多个Properties文件 当需要引用多个属性文件时,可以使用`locations`属性代替`...