首页 > 开发 > Java > 正文

使用spring工厂读取property配置文件示例代码

2024-07-13 10:16:16
字体:
来源:转载
供稿:网友

本文将介绍两种Spring读取property配置文件的方法,接下来看看具体内容。

一、通过Spring工厂读取

示例:

public class PropertyConfig {	private static AbstractBeanFactory beanFactory = null;	private static final Map<String,String> cache = new oncurrentHashMap<>();	@Inject  	  public PropertyConfig(AbstractBeanFactory beanFactory) {		this.beanFactory = beanFactory;	}	/**      * 根据key获取配置文件的Value     * @param key   * @return      */	public static String getProperty(String key) {		String propValue = "";		if(cache.containsKey(key)){			propValue = cache.get(key);		} else {			try {				propValue = beanFactory.resolveEmbeddedValue("${" + key.trim() + "}");				cache.put(key,propValue);			}			catch (IllegalArgumentException ex) {				ex.printStackTrace();			}		}		return propValue;	}}

Spring xml的配置

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>  <property name="ignoreResourceNotFound" value="true"/>  <property name="locations">    <list>      <value>classpath:props/${property-path}.properties</value>      <value>classpath:important.properties</value>    </list>  </property></bean>

在项目中使用

String maxTimeInSecondsProp = PropertyConfig.getProperty("maxTimeInSeconds");

二、直接使用spirng程序代码读取项目的配置文件方法

import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.Resource;import org.springframework.core.io.support.PropertiesLoaderUtils;import org.springframework.core.io.FileSystemResource; public class Test {  /**   * @param args   */  public static void main( String[] args ) {    String configFile = "D:/test/application.properties";    //如果配置文件在classpath目录下可以使用ClassPathResource对象    //Resource resource = new ClassPathResource("/application.properties");    Resource resource = new FileSystemResource( configFile );    try {      Properties property = PropertiesLoaderUtils.loadProperties(resource);      String driver = property.getProperty("jdbc.driver");      String url = property.getProperty("jdbc.url");      String userName = property.getProperty("jdbc.username");      String password = property.getProperty("jdbc.password");    }    catch (IOException e1) {      //log.error("read config file failed", e1);    }  }}

如果配置文件在classpath目录下可以使用ClassPathResource对象

Resource resource = new ClassPathResource("/application.properties");

总结

以上就是本文关于使用spring工厂读取property配置文件示例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表