时间:2021-05-20
有些时候,我们需要以Spring代码直接读取properties配置文件,那么我们要如何操作呢?下面我们来看看具体内容。
我们都知道,Spring可以@Value的方式读取properties中的值,只需要在配置文件中配置
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:config.properties</value> </property> </bean>那么在需要用到这些获取properties中值的时候,可以这样使用
@Value("${sql.name}") private String sqlName;但是这有一个问题,我每用一次配置文件中的值,就要声明一个局部变量。有没有用代码的方式,直接读取配置文件中的值。
答案就是重写PropertyPlaceholderConfigurer
public class PropertyPlaceholder extends PropertyPlaceholderConfigurer { private static Map<String,String> propertyMap; @Override protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { super.processProperties(beanFactoryToProcess, props); propertyMap = new HashMap<String, String>(); for (Object key : props.keySet()) { String keyStr = key.toString(); String value = props.getProperty(keyStr); propertyMap.put(keyStr, value); } } //static method for accessing context properties public static Object getProperty(String name) { return propertyMap.get(name); }}在配置文件中,用上面的类,代替PropertyPlaceholderConfigurer
<bean id="propertyConfigurer" class="com.gyoung.mybatis.util.PropertyPlaceholder"> <property name="location"> <value>classpath:config.properties</value> </property> </bean>这样在代码中就可以直接用编程方式获取
PropertyPlaceholder.getProperty("sql.name");如果是多个配置文件,配置locations属性
<bean id="propertyConfigurer" class="com.gyoung.mybatis.util.PropertyPlaceholder"> <property name="ignoreResourceNotFound" value="true"/> <property name="locations"> <list> <value>file:./jdbc.properties</value> <value>file:./module.config.properties</value> <value>classpath:jdbc.properties</value> <value>classpath*:*.config.properties</value> </list> </property> </bean>总结
以上就是本文关于Spring用代码来读取properties文件实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
Spring实例化bean过程解析及完整代码示例
Spring工厂方法创建(实例化)bean实例代码
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Java对Properties文件的操作简介在Java中,我们常用java.util.Properties.Properties类来解析Properties文件
Androidlocal.properties文件读取实例详解在AndroidStudio项目里面有个local.properties文件,这个文件可以放一些系
JSP中Spring的Resource类读写中文Properties摘要:Spring对Properties的读取进行了完善而全面的封装,对于写则仍需配合Fil
本文实例讲述了ajax读取properties资源文件数据的方法。分享给大家供大家参考。具体实现方法如下:properties资源文件的内容如下:hello=e
在java编程中,很多配置文件用键值对的方式存储在properties文件中,可以读取,修改。而且在java中有java.util.Properties这个类,