`

spring如何引用properties文件里的配置

阅读更多

1.PropertyPlaceholderConfigurer类

<beans>
<bean id="configBean" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location"><value>db.properties</value></property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"><value>${jdbc.driverClassName}</value></property>
<property name="url"><value>${jdbc.url}</value></property>
<property name="username"><value>${jdbc.username}</value></property>
<property name="password"><value>${jdbc.password}</value></property>
</bean>
</beans>
 
db.properties文件
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://production:9002
jdbc.username=sa
jdbc.password=root
 

2.PropertyOverrideConfigurer类
跟PropertyPlaceholderConfigurer功能一样,不过用法不一样.不用占位符,在属性文件中
直接定义属性的值,这样就允许有默认值
<beans>
  <bean id="configBean" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
       <property name="location"><value>db.properties</value></property>
       //ignoreResourceNotFound属性含义为在找不到属性文件时不会有异常抛出。
       <property name="ignoreResourceNotFound" value="true"/> 
  </bean>
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
       <property name="driverClassName"><value>org.hsqldb.jdbcDriver</value></property>
       <property name="url"><value>jdbc:hsqldb:hsql://production:9002</value></property>
       <property name="username"><value>test</value></property>
       <property name="password"><value>123456</value></property>
 </bean>
</beans>
 

db.properties文件
dataSource.username=admin
dataSource.password=9527
在bean实例时,admin,9527将替代test,123456
 
3其他
1)如果需要引用多个属性,将configBean属性改为
<property name="locations">
<list>
<value>db.properties</value>
<value>db1.properties</value>
</list>
</property>
 


2)在ApplactionContext中是自动调用BeanFactoryPostProcessor接口的,如果要在BeanFactory中使用,必须手动添加:
XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("beans.xml"));
PropertyPlaceholderConfigurer cfg = new PropertyPlaceholderConfigurer();
cfg.setLocation(new FileSystemResource("jdbc.properties"));
cfg.postProcessBeanFactory(factory);
 


Spring配置文件中的标签
//ignoreResourceNotFound属性含义为在找不到属性文件时不会有异常抛出。 
<context:property-placeholder ignore-resource-not-found="true" location="classpath:hibernate/hibernate.properties" />
properties文件
test.jdbc.driverClassName=com.mysql.jdbc.Driver
test.jdbc.url=jdbc:mysql://localhost:3306/test
test.jdbc.username=root
test.jdbc.password=root
 
1.这样一来就可以为spring配置的bean的属性设置值了,比如spring有一个jdbc数据源的类DriverManagerDataSource
在配置文件里这么定义bean:
<bean id="testDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${test.jdbc.driverClassName}"/>
<property name="url" value="${test.jdbc.url}"/>
<property name="username" value="${test.jdbc.username}"/>
<property name="password" value="${test.jdbc.password}"/>
</bean>
 


2.甚至可以将${ }这种形式的变量用在spring提供的注解当中,为注解的属性提供值。

 

分享到:
评论

相关推荐

    Spring Boot Properties 全部配置文件,中文注释

    SpringBoot2.x properties全部配置文件总计1500+,每个配置文件写有中文解释。适用于系统学习springboot 深入学习springboot的同学。

    spring4.0引用properties

    本实例将深入探讨如何在Spring 4.0中引用和使用properties文件。 首先,我们需要创建一个properties文件。例如,我们有一个名为`application.properties`的文件,通常放在项目的`src/main/resources`目录下。这个...

    spring读取properties

    在Spring配置文件中,通过EL(表达式语言)引用Properties文件中的值。例如,在定义数据源`datasource`时,可以这样写: ```xml &lt;bean id="datasource" class="org.springframework.jdbc.datasource....

    Spring3.0 配置文件中加载Properties文件的小例子

    加载Properties文件后,我们就可以在其他bean的配置中引用这些属性值。假设我们有一个数据源bean,其配置如下: ```xml class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt; ${db.driver...

    SPRING:bean配置properties

    `PropertyPlaceholderConfigurer`允许我们在Spring的配置文件中引用外部的properties文件,以实现配置信息的灵活管理和动态加载。以下是一个基本的配置示例: ```xml class="org.springframework.beans.factory....

    读取properties文件返回map

    1. **properties文件结构** `properties`文件的结构非常简单,每行代表一个键值对,键和值之间用等号`=`或冒号`:`分隔。例如: ``` username=admin password=123456 database.url=jdbc:mysql://localhost:3306/...

    Spring 读取properties文件key+value方式.rar

    Spring框架提供了强大的属性配置管理,能够帮助开发者轻松地读取和使用properties文件中的key-value对。本教程将深入探讨如何在Spring中以不同的方式读取properties文件,以便更好地理解和应用这些配置。 首先,...

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...

    详解spring boot 使用application.properties 进行外部配置

    Spring Boot 框架提供了多种方式来进行外部配置,今天我们将详细讲解使用 application.properties 文件来进行外部配置的方法。application.properties 文件是 Spring Boot 中的一个默认配置文件,用于存储可以手动...

    Spring Boot多模块配置文件读取

    Spring Boot的核心理念是简化配置,它通过`application.properties`或`application.yml`文件来存储全局配置。当项目变得复杂,包含多个模块时,这种单一配置文件的方式可能会导致混乱。因此,我们需要为每个模块创建...

    spring读取jar中的配置文件

    当我们的应用程序被打包成JAR文件后,有时我们需要从JAR内部读取配置文件,例如application.properties或application.yml。本文将深入探讨如何在Spring框架中实现这一功能。 首先,理解Spring的资源配置。Spring...

    spring读取配置文件

    假设你有一个复杂的项目结构,配置文件分散在多个目录下,你可以创建一个主配置文件,然后在这个主配置文件中通过`import`元素来引用其他目录的配置文件。例如,你可以在`/config/main-config.xml`中写入如下内容: ...

    Spring配置文件集合

    在本压缩包中,我们找到了一系列与Spring相关的配置文件,这些文件在构建JavaWeb应用时起着至关重要的作用。 1. `jdbc.properties`: 这个文件通常用于存储数据库连接的相关信息,如URL、用户名、密码等。它是Spring...

    让spring加载自己的properties配置文件,在代码中获得配置信息

    Spring提供了一种优雅的方式来加载`.properties`配置文件,使得开发者可以将配置信息与代码分离,提高应用的可维护性和灵活性。本文将详细介绍如何让Spring自动加载自定义的`.properties`配置文件,并在代码中获取...

    Spring依赖包和配置文件

    4. **application.properties**或**application.yml**:随着Spring Boot的流行,这些文件用于配置Spring Boot应用的属性,包括数据库连接、服务器端口等。 三、SSH框架集成 SSH是指Struts、Spring和Hibernate三个...

    SpringBoot全局配置文件(properties)与yml配置文件.docx

    Spring Boot支持两种主要的全局配置文件格式:`application.properties` 和 `application.yml`。下面我们将深入探讨这两种配置文件及其特性。 一、`application.properties` 配置文件 1. **修改内嵌容器端口号**:...

    redis集成spring jar包以及配置文件

    redis-context.xml redis和spring配置,需要引用到自己项目的spring配置文件里面 redis.properties redis的配置项,ip一级连接池参数,注意:redis默认没有密码,所以我的spring配置文件把密码注释掉了,如果有密码...

    spring-demo09-读取properties配置文件内容.zip

    在Spring框架中,读取`properties`配置文件是常见的任务,用于管理应用程序的配置信息,如数据库连接字符串、服务端口、系统环境变量等。本文将深入探讨如何在Spring项目中实现这一功能。 首先,我们需要一个`...

    SpringCloud.03.网关Gateway 配置文件

    Gateway的配置主要通过`application.yml`或`application.properties`文件完成。配置文件中的关键部分包括路由定义(Routes)、过滤器(Filters)以及全局属性设置(Global Settings)。 3. **路由定义(Routes)**...

    Spring中jdbc.properties属性文件进行密文处理

    这是一个简单的案例用来实现Spring中jdbc.properties属性文件进行密文处理,代码中的学生实体自己根据需要在数据库中进行创建

Global site tag (gtag.js) - Google Analytics