1、Spring配置文件里使用外部属性文件:
1)、在Spring配置文件中配置数据源或邮件服务器等资源数据时,会直接把账号密码直接写在配置文件中,一种更好的做法是把这些配置信息独立到一个外部属性文件中,并在Spring文件中通过${username}这样的方式来引用属性文件中的属性项。
2)、好处:一是如果多个应用公用一个资源配置信息,一旦资源信息修改,只需要修改属性文件一处,而不用修改多处Spring配置文件。二是维护和部署方便,如果需要修改某个参数,不需要关注结构复杂信息量大的Spring配置文件
2、Spring怎么使用外部属性文件:
1)、Spring提供一个PropertyPlaceholderConfigurer,它能使Bean(比如数据源Bean)在配置时引用外部属性文件。
3、原来的写法:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@10.10.0.85:1521:ora10</value>
</property>
<property name="username">
<value>admin</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
4、使用外部属性文件后jdbc.properties:
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@xxx.xxx.xx.xxx:21521:ora10
db.username=admin
db.password=123456
<!-- 引入外部数据库属性文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:com/sxit/config/jdbc.properties</value>
</property>
</bean>
<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>${db.driver}</value>
</property>
<property name="url">
<value>${db.url}</value>
</property>
<property name="username">
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
</bean>
5、PropertyPlaceholderConfigurer属性:
1)、locations:如果只有一个外部属性文件直接用location指定就可以了,如果是多个属性文件,则可通过如下方式配置:
<property name="locations">
<value>classpath:com/zjy/gpx/config/dbconfig.properties1</value>
<value>classpath:com/zjy/gpx/config/dbconfig.properties2</value>
<value>classpath:com/zjy/gpx/config/dbconfig.properties3</value>
<value>classpath:com/zjy/gpx/config/dbconfig.properties4</value>
</property>
2)、fileEccoding:属性文件的编码格式:
<property name="fileEncoding">
<value>utf-8</value>
</property>
3)、order:如果配置文件中定义了多个PropertyPlaceholderConfigurer,可根据该属性指定优先顺序:
<property name="order" value="1" />
4)、placeholderPrefix:占位符前缀,“${”是默认的占位符前缀,可根据需要改为其他前缀符:
<property name="placeholderPrefix" value="#{" />
5)、placeholderSuffix:占位符后缀,默认为“}”:
<property name="placeholderSuffix" value="*" />
6、还可以通过context命名空间定义属性文件:
<context:property-placeholder location="classpath:com/sxit/config/jdbc.properties"/>
分享到:
相关推荐
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记spring学习笔记
spring学习笔记
Spring学习笔记( spring视频笔记)
在Spring的开发中,我们在很多情况下会使用占位符引用属性文件的属性值来简化我们的系统及使我们的系统具有更高的灵活性和通用性。这种配置方式有两个明显的好处: ?- 减少维护的工作量:资源的配置信息可以多应用...
JAVA Spring使用外部属性文件,分享给需要的人,0.0。。
网易云课堂黑马Spring四天精通学习笔记&源码(数据库要另建)
文件内附有学习源码及“四万多字的学习笔记”,本学习笔记中涵盖了,Spring中所学的全部知识点,以及还有一些小的知识点。(笔记很详细,笔记很详细。属于本人舍得删系列)。
Spring学习笔记.
Spring Cloud 学习入门笔记,全方面实践,包含 spring cloud alibaba 模块
SPRING学习笔记2SPRING学习笔记2SPRING学习笔记2SPRING学习笔记2
Spring6学习笔记,师承老杜
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
三更springsecurity学习笔记
spring指南学习笔记
“Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...
学习spring总结的笔记 希望对初学者有所帮助
这是学习spring时整理的学习笔记,里面都是spring框架的一些基础知识和核心技术。
SPRING学习笔记,是本人在学习期间记录的。希望大家喜欢
笔记都是markdown格式的,请自行下载阅读器进行查看个人推荐Typora,当然notepad++也行