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"/>
分享到:
相关推荐
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...
例如,当需要将一个属性设置为`null`时,需要在XML配置文件中使用`<null/>`标签,这是Spring特有的表示`null`值的方式。此外,配置文件还可以用来定义内部bean,这些bean仅限于在当前配置文件内使用,外部无法直接...
在本篇“Spring学习笔记之二‘属性注入’”中,我们将深入探讨Spring如何实现属性注入,并通过实例展示其工作原理。 1. **属性注入的概念** 属性注入是指Spring容器通过XML配置或者基于注解的方式,将外部资源(如...
本篇学习笔记主要探讨了Spring中的属性注入方式,包括了传统的XML配置注入、注解式注入以及使用Java配置类的方式。 一、XML配置注入 在Spring早期版本中,XML配置文件是定义Bean及其依赖关系的主要方式。属性注入...
案例二中,创建了Book类,并通过XML配置文件创建了Book对象,使用注解的方式对Book类的属性进行注入,展示了Spring的依赖注入功能。这些入门案例展示了如何使用Spring框架进行对象的管理和依赖注入,为理解后续的...
### Spring学习笔记(最新版) #### 一、Spring框架简介 Spring框架是一个广泛使用的轻量级企业级应用框架,它提供了全面的解决方案来构建复杂的Java应用程序。Spring的核心特性包括依赖注入(Dependency Injection,...
### 马士兵Spring学习笔记知识点汇总 #### 一、面向接口编程(面向抽象编程) **概念:** 面向接口编程是指在设计系统时,尽量通过接口来定义各个组件之间的交互方式,而不是直接依赖于实现类。这种方式使得系统...
《Spring 学习笔记五——深入理解Spring框架》 在软件开发领域,Spring框架是Java企业级应用开发的基石,其强大的功能和易用性使其成为开发者们的首选。本篇学习笔记将深入探讨Spring框架的核心概念和技术,帮助你...
本学习笔记代码将带你深入理解Spring的核心概念和技术,包括依赖注入(DI)、面向切面编程(AOP)以及Spring Boot、Spring MVC等模块。 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,DI...
### Spring学习笔记1 #### 一、Spring框架简介与IOC概念 **Spring**是一个开源的Java平台框架,它提供了一种全面的编程模型,并通过一系列的功能模块支持企业级应用程序开发。Spring的核心特性包括依赖注入...
可以使用`init-method`和`destroyed-method`属性指定bean的初始化和销毁方法,Spring会在适当的时候自动调用这些方法。 属性注入: - `name`属性与bean的setter方法匹配,`ref`属性引用其他bean的名称,用于注入...
文档《Spring Boot 学习笔记完整教程.pdf》涵盖了多个知识点,详细介绍了Spring Boot的基本使用方法以及一些高级功能的实现。以下是根据文档内容整理的知识点: 1. Spring Boot入门: Spring Boot让开发者能够通过...
Spring学习笔记 Spring是Java EE开发中的一个开源框架,提供了一个轻量级的、灵活的、可扩展的解决方案。Spring框架的核心概念是IoC(Inversion of Control),也就是控制反转,使用对象时,不要主动new产生对象,...
在描述中提到的“Spring2学习笔记帮你完善管理SSH”,这里的SSH通常是指Struts、Spring和Hibernate的组合,这是一种经典的Java Web开发架构。 首先,我们来详细讲解Spring 2中的核心概念: 1. **依赖注入...
【Spring2.0学习笔记】 在深入探讨Spring2.0的知识点之前,首先理解几个核心概念至关重要。Spring框架的核心设计理念是控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)。IoC意味着...
Spring 是一个广泛使用的开源Java EE框架,它提供了一个分层架构,涵盖了Web层、Service层和DAO层的解决方案。Spring的核心特性包括控制反转(IOC)和面向切面编程(AOP),这两个特性极大地简化了Java应用的开发,...
Spring学习笔记详细知识点如下: 1. 面向接口编程(面向抽象编程): 面向接口编程是面向对象编程的一种重要实践,它鼓励开发者通过接口而不是具体实现来编写程序。这样做可以提高代码的灵活性和可扩展性,使得系统...
文档开头反复提到“Spring”,这表明个人学习笔记的起点是Spring框架的基础知识。Spring是一个全面的编程和配置模型,用于现代Java基础上的企业的、多层的和面向服务的应用程序。Spring的一个重要特点是分层架构,...