欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-18 17:06:52
本文将介绍两种spring读取property配置文件的方法,接下来看看具体内容。 一、通过spring工厂读取 示例: public class prope...

本文将介绍两种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配置文件示例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

上一篇:

下一篇: