Java中如何获取spring中配置文件.properties中属性值

通过spring配置properties文件

1
2
3
4
5
6
7
8
9
<bean id="propertyConfigurer"
  class="com.hapishop.util.ProjectDBinfoConfigurer">
  <property name="ignoreResourceNotFound" value="true" />
  <property name="locations">
      <list>
          <value>/WEB-INF/config/dbinfo.properties</value>
      </list>
  </property>
</bean>

其中class为自己定义的类

 

自定义类ProjectDBinfoConfigurer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
 
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
 
/**
 * 自定义ProjectDBinfoConfigurer返回properties内容
 * @ClassName: ProjectDBinfoConfigurer
 * @Description: TODO (请用一句话描述该类做什么)
 * @author ZhangYQ iitshare@itblood.com
 * @date: 2012-11-20 下午11:48:32
 */
public class ProjectDBinfoConfigurer extends PropertyPlaceholderConfigurer {
    private static Map ctxPropertiesMap;
 
    @Override
    protected void processProperties(
            ConfigurableListableBeanFactory beanFactoryToProcess,
            Properties props) throws BeansException {
        super.processProperties(beanFactoryToProcess, props);
        ctxPropertiesMap = new HashMap();
        for (Object key : props.keySet()) {
            String keyStr = key.toString();
            String value = props.getProperty(keyStr);
            ctxPropertiesMap.put(keyStr, value);
        }
    }
    public static Object getContextProperty(String name) {
        return ctxPropertiesMap.get(name);
    }
}

这样就可以通过ProjectDBinfoConfigurer类来获取properties属性文件中的内容了

如何获取属性文件的内容

String url= (String) ProjectDBinfoConfigurer.getContextProperty(“jdbc.url”);

摘自 : http://blog.itblood.com/java-to-get-the-value-of-the-spring-configuration-file.html

 

 

posted @   拾柴小斯  阅读(7031)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示