在Spring中,使用PropertyPlaceholderConfigurer和PropertyOverrideConfigurer可以在XML配置文件中加入外部属性文件
但使用这种方式,有一些需要注意的地方
1.首先在主类中,需要使用ClassPathXmlApplicationContext来读取spring配置xml文件
如:
ApplicationContext context = new ClassPathXmlApplicationContext("example4/appcontext.xml");
HelloWorld hw = (HelloWorld)context.getBean("fileHelloWorld");
log.info(hw.getContent());
直接以beanFactory方式,是无法使用PropertyPlaceholderConfigurer或PropertyOverrideConfigurer的
如下方式不行:
Resource resource = new ClassPathResource("example4/appcontext.xml");
BeanFactory factory = new XmlBeanFactory(resource);
HelloWorld hw = (HelloWorld) factory.getBean("fileHelloWorld");
log.info(hw.getContent());
2.PropertyOverrideConfigurer需要考虑bean的名称
如下是正确配置:
appcontext.xml:
<bean name="fileHelloWorld" class="example4.HelloWorld">
<constructor-arg>
<ref bean="fileHello"/>
</constructor-arg>
<property name="statusname">
<value>${fileHelloWorld.statusname}</value>
</property>
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
<property name="location" value="classpath:example4/helloworld.properties"/>
</bean>
helloworld.properties:
fileHelloWorld.statusname=this is status Name;
如果少了${fileHelloWorld.statusname}中少了Bean名称fileHelloWorld,会导致错误发生
这应该是种强制某个配置是属性某个Bean
3.PropertyPlaceholderConfigurer的配置不需要考虑Bean的名称,直接配置就可以了
配置方式和PropertyOverrideConfigurer类似,如下配置:
- <bean id=
"propertyConfigurer"
- class
=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
- <property name="location"
value=
"/WEB-INF/jdbc.properties"
/>
- </bean>
- <bean id="dataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
- destroy-method="close"
>
- <property name="driverClassName"
value=
"${jdbc.driverClassName}"
/>
- <property name="url"
value=
"${jdbc.url}"
/>
- <property name="username"
value=
"${jdbc.username}"
/>
- <property name="password"
value=
"${jdbc.password}"
/>
- </bean>
-
- 在jdbc.properties属性文件中定义属性值:
- jdbc.driverClassName= com.mysql.jdbc.Driver
- jdbc.url= jdbc:mysql:
- jdbc.username=root
- jdbc.password=1234
-
分享到:
相关推荐
### Spring读取Properties文件的核心知识点 #### 1. **引入PropertyPlaceholderConfigurer** 在Spring的配置文件中,首先需要定义一个`PropertyPlaceholderConfigurer` bean,这是Spring用来解析Properties文件并...
本文将详细介绍如何在Java中读取`properties`配置文件。 首先,我们需要了解`properties`文件的格式。一个标准的`.properties`文件通常包含多个行,每行由一个键和一个值组成,它们之间用等号(`=`)或冒号(`:`)...
在Java编程中,`properties`文件是一种常用的配置文件格式,用于存储应用的配置参数或设置。这些文件通常以键值对的形式存在,如`key=value`。本篇将详细讲解如何在Java中读取`properties`文件并将其内容转换为`Map`...
本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...
在`spring-demo09-读取properties配置文件内容`这个示例中,我们可能有一个名为`application.properties`或`config.properties`的文件,存放在项目的`src/main/resources`目录下。这个文件通常包含以下格式的键值对...
总结来说,Java提供了多种方式来读取`.properties`配置文件,包括标准库中的`Properties`和`ResourceBundle`,以及NIO、Spring框架和第三方库如Apache Commons Configuration。选择哪种方式取决于你的具体需求,如...
当我们的应用程序被打包成JAR文件后,有时我们需要从JAR内部读取配置文件,例如application.properties或application.yml。本文将深入探讨如何在Spring框架中实现这一功能。 首先,理解Spring的资源配置。Spring...
这篇博客“spring mvc 读取配置文件”将深入探讨如何在Spring MVC中读取和使用配置文件,以及相关工具的应用。 首先,Spring MVC中的配置文件通常是指XML配置文件,如`applicationContext.xml`或`servlet-context....
在Spring Boot应用中,多模块配置文件的读取是一个重要的实践,它有助于提高代码的可维护性和模块化。本文将详细探讨如何在Spring Boot的多模块项目中管理和使用不同的配置文件,以实现低耦合的设计。 首先,了解...
本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,我们需要一个`application.properties`或`application.yml`文件,其中包含键值对。例如: ```properties ...
1. **SpringBoot与Properties配置文件** SpringBoot鼓励使用`application.properties`或`application.yml`作为主要的配置文件,它们位于项目的`src/main/resources`目录下。`application.properties`文件用于存储...
Spring 无法读取 properties ...Spring 无法读取 properties 文件数据问题可能是由于配置文件路径不正确、配置文件不存在或多个配置文件导致的。通过正确配置配置文件的路径和加载所有的配置文件,可以解决这些问题。
Spring Boot支持两种主要的配置文件格式:`application.properties`和`application.yml`。这两种格式都允许开发者以结构化的方式存储和管理应用程序的配置参数。 首先,让我们关注`yml`配置文件。YAML (YAML Ain't ...
本篇将详细讲解如何在Spring 3.0的配置文件中加载Properties文件,以便在运行时动态获取和使用这些配置。 首先,我们需要一个Properties文件,例如`application.properties`,它通常放在项目的类路径根目录下。这个...
java简单读取properties配置文件的方法示例 Java中的Properties配置文件是一种非常常用的配置文件格式,它可以存储各种类型的配置信息,例如数据库连接信息、文件路径信息等。在Java中读取Properties配置文件是一种...
Spring框架提供了多种方式来加载Properties配置文件,以便于应用程序读取和使用配置信息。下面将详细介绍四种常见的加载Properties配置文件的方式。 方式一: 通过context:property-placeholder标签实现配置文件加载...
Spring Boot提供了多种方式来读取和使用这些配置文件,使其更加便捷和高效。以下将详细介绍Spring Boot读取配置文件的常用方法。 1. **属性文件** Spring Boot默认支持两种主要的属性文件格式:`application....
"SSM 读取properties文件"这个话题聚焦于如何在项目中有效地读取和使用这些配置文件。properties文件通常用于存储应用程序的配置参数,如数据库连接信息、服务器端口、邮件服务设置等,使得这些关键信息能够独立于...
本篇文章将详细介绍Spring Boot如何读取配置文件,以及提供一些调试示例代码,帮助你更好地理解和运用。 ### 1. 配置文件位置与优先级 Spring Boot支持多种类型的配置文件,包括`application.properties`和`...
本压缩包包含两个工具类,分别用于读取`.yml`和`.properties`格式的配置文件,这两种格式都是Java开发中常见的配置文件类型。 首先,我们来看`.properties`配置文件。这种格式的文件历史较为悠久,它的语法简单,每...