gpt4 book ai didi

Spring用代码来读取properties文件实例解析

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Spring用代码来读取properties文件实例解析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

有些时候,我们需要以Spring代码直接读取properties配置文件,那么我们要如何操作呢?下面我们来看看具体内容.

我们都知道,Spring可以@Value的方式读取properties中的值,只需要在配置文件中配置 。

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 。

?
1
2
3
4
5
< bean id = "propertyConfigurer" class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
     < property name = "location" >
       < value >classpath:config.properties</ value >
     </ property >
   </ bean >

那么在需要用到这些获取properties中值的时候,可以这样使用 。

?
1
2
@Value ( "${sql.name}" )
private String sqlName;

但是这有一个问题,我每用一次配置文件中的值,就要声明一个局部变量。有没有用代码的方式,直接读取配置文件中的值.

答案就是重写PropertyPlaceholderConfigurer 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 。

?
1
2
3
4
5
< bean id = "propertyConfigurer" class = "com.gyoung.mybatis.util.PropertyPlaceholder" >
    < property name = "location" >
      < value >classpath:config.properties</ value >
    </ property >
  </ bean >

这样在代码中就可以直接用编程方式获取 。

?
1
PropertyPlaceholder.getProperty( "sql.name" );

如果是多个配置文件,配置locations属性 。

?
1
2
3
4
5
6
7
8
9
10
11
12
< 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文件实例解析的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持! 。

原文链接:https://www.cnblogs.com/Gyoung/p/5507063.html 。

最后此篇关于Spring用代码来读取properties文件实例解析的文章就讲到这里了,如果你想了解更多关于Spring用代码来读取properties文件实例解析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com