Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息
来源:互联网 发布:国泰君安数据库 编辑:程序博客网 时间:2024/06/03 12:10
严格来说,本博文所阐述的内容和这个系列来说,没有什么必要的关系,本博文的主题是:如何使用spring获取properties文件的信息。本博文所采用的用例都和这个系列有关,所以就放在这里讲了。
通过spring的配置(applicationContext.xml),如:<context:property-placeholder location="classpath:config.properties"/>(具体位置可以参考本系列的前两篇博文),这个就配置了spring自动加载当前classpath下的config.properties文件,这个config.properties的内容如下:
# oracle configuration ora_driver=oracle.jdbc.driver.OracleDriver ora_url=jdbc:oracle:thin:@10.10.195.185:1521:sp5000 ora_username=shr ora_password=shr #mysql configuration mysql_driver=com.mysql.jdbc.Driver mysql_url=jdbc:mysql://10.10.193.111:3306/sp5000?useUnicode=true&characterEncoding=UTF-8 mysql_username=shr mysql_password=shr dataSource=oracle对于applicationContext.xml中的数据源配置如下:
<bean id="mysql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${mysql_driver}"/><property name="url" value="${mysql_url}"/><property name="username" value="${mysql_username}"/><property name="password" value="${mysql_password}"/></bean><bean id="oracle" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${ora_driver}"/><property name="url" value="${ora_url}"/><property name="username" value="${ora_username}"/><property name="password" value="${ora_password}"/></bean>可以看到如${mysql_driver}这个可以自动读取到config.properties文件中的相应字段的值。
那么java程序中如何获取呢?且看下面这个测试用例:
package com.shr.service.userManage;import java.util.List;import javax.inject.Inject;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Value;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.transaction.TransactionConfiguration;import org.springframework.transaction.annotation.Transactional;import com.shr.dao.model.userManage.UserListInfo;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("file:WebContent/WEB-INF/applicationContext.xml")@Transactional@TransactionConfiguration(transactionManager="transactionManager",defaultRollback=false)public class UserManageServiceTest {@Injectprivate UserManageService userManageService;@Value("${ora_driver}")private String driver;@Value("${ora_url}")private String url;@Value("${ora_username}")private String username;@Value("${ora_password}")private String password;@Testpublic void testConfigProperties(){System.out.println(driver);System.out.println(url);System.out.println(username);System.out.println(password);}}
运行结果:
oracle.jdbc.driver.OracleDriverjdbc:oracle:thin:@10.10.195.185:1521:sp5000shrshr
在上面的代码中可以看到通过使用注解 @Value("${ora_driver}")就可以获取config.properties的值。
这些是比较简要的配置,也可以配置的复杂点。可以把:<context:property-placeholder location="classpath:config.properties"/>这个替换成:
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:*.properties</value> </list> </property> </bean> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="properties" ref="configProperties" /> </bean>这样同样可以通过@Value("${ora_driver}")这样的方式获取值,也可以通过@Value("#{configProperties['ora_driver']}")的方式获取值,可以看出后一种方法稍微复杂点,建议采用前一种方式。
2 1
- Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息
- Spring如何获取Properties文件的信息
- spring+mybatis多数据源的配置
- Spring+Mybatis多数据源配置(二)——databaseIdProvider的使用
- Spring+Mybatis多数据源配置(二)——databaseIdProvider的使用
- spring + mybatis多数据源配置
- spring MVC+MyBatis 多数据源配置
- Spring下mybatis 多数据源配置
- Spring下mybatis配置多数据源
- Spring+Mybatis 多数据源配置
- Spring+MyBatis多数据源配置实现
- spring+mybatis多数据源配置
- Spring+MyBatis多数据源配置实现
- Spring+Mybatis配置多数据源
- Spring下mybatis多数据源配置
- spring+mybatis 多数据源配置
- Spring+MyBatis多数据源配置实现
- spring-mybatis多数据源配置出错
- Binary Tree Maximum Path Sum
- http状态码
- jquery.cookie
- Angularjs基础知识及示例汇总
- TreeMap 结构解析
- Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息
- memcached实现tomcat集群的session共享
- IOS开发者常用的10个Xcode插件
- PL/SQL编程技巧
- Service 详解
- 关于调试的一些方法:
- Lowest Common Ancestor of a Binary Tree
- xcode 等工具下载链接备忘
- ImageView等比例缩小