Spring学习笔记(十三)、使用外部属性文件
1、Spring配置文件里使用外部属性文件:
1)、在Spring配置文件中配置数据源或邮件服务器等资源数据时,会直接把账号密码直接写在配置文件中,一种更好的做法是把这些配置信息独立到一个外部属性文件中,并在Spring文件中通过${username}这样的方式来引用属性文件中的属性项。2)、好处:一是如果多个应用公用一个资源配置信息,一旦资源信息修改,只需要修改属性文件一处,而不用修改多处Spring配置文件。二是维护和部署方便,如果需要修改某个参数,不需要关注结构复杂信息量大的Spring配置文件
2、Spring怎么使用外部属性文件:
1)、Spring提供一个PropertyPlaceholderConfigurer,它能使Bean(比如数据源Bean)在配置时引用外部属性文件。
3、原来的写法:
<bean id="dataSource" name="code">db.driver=oracle.jdbc.driver.OracleDriverdb.url=jdbc:oracle:thin:@xxx.xxx.xx.xxx:21521:ora10db.username=admindb.password=123456
<!-- 引入外部数据库属性文件 --><bean id="propertyConfigurer" 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"/>
???