@Value("${ddd}")java
<context:property-placeholder ignore-unresolvable="true" location="classpath:jeesite.properties" />
spring
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:thrift-client.properties</value>
<value>classpath:jeesite.properties</value>
</list>
</property>
</bean>
apache
<!-- 加載應用屬性實例,可經過 @Value("#{APP_PROP['jdbc.driver']}") String jdbcDriver 方式引用 -->
<util:properties id="APP_PROP" location="classpath:jeesite.properties" local-override="true"/>
ide
Properties pros = new Properties();
pros.load(SendDingDingUtil.class.getResourceAsStream("/dingding.properties"));
pros.getProperty("dingding.request.key");工具
/**
* 屬性文件加載對象
*/
private static PropertiesLoader loader = new PropertiesLoader("jeesite.properties");
loader.getProperty("yyReturnMerchantPay")ui
PropertiesLoader.java代碼:spa
/** * Copyright (c) 2005-2011 springside.org.cn * * $Id: PropertiesLoader.java 1690 2012-02-22 13:42:00Z calvinxiu $ */ import java.io.IOException; import java.io.InputStream; import java.util.NoSuchElementException; import java.util.Properties; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; /** * Properties文件載入工具類. 可載入多個properties文件, 相同的屬性在最後載入的文件中的值將會覆蓋以前的值,但以System的Property優先. * @author W.X * @version 2013-05-15 */ public class PropertiesLoader { private static Logger logger = LoggerFactory.getLogger(PropertiesLoader.class); private static ResourceLoader resourceLoader = new DefaultResourceLoader(); private final Properties properties; public PropertiesLoader(String... resourcesPaths) { properties = loadProperties(resourcesPaths); } public Properties getProperties() { return properties; } /** * 取出Property,但以System的Property優先,取不到返回空字符串. */ private String getValue(String key) { String systemProperty = System.getProperty(key); if (systemProperty != null) { return systemProperty; } if (properties.containsKey(key)) { return properties.getProperty(key); } return ""; } /** * 取出String類型的Property,但以System的Property優先,若是都爲Null則拋出異常. */ public String getProperty(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return value; } /** * 取出String類型的Property,但以System的Property優先.若是都爲Null則返回Default值. */ public String getProperty(String key, String defaultValue) { String value = getValue(key); return value != null ? value : defaultValue; } /** * 取出Integer類型的Property,但以System的Property優先.若是都爲Null或內容錯誤則拋出異常. */ public Integer getInteger(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return Integer.valueOf(value); } /** * 取出Integer類型的Property,但以System的Property優先.若是都爲Null則返回Default值,若是內容錯誤則拋出異常 */ public Integer getInteger(String key, Integer defaultValue) { String value = getValue(key); return value != null ? Integer.valueOf(value) : defaultValue; } /** * 取出Double類型的Property,但以System的Property優先.若是都爲Null或內容錯誤則拋出異常. */ public Double getDouble(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return Double.valueOf(value); } /** * 取出Double類型的Property,但以System的Property優先.若是都爲Null則返回Default值,若是內容錯誤則拋出異常 */ public Double getDouble(String key, Integer defaultValue) { String value = getValue(key); return value != null ? Double.valueOf(value) : defaultValue; } /** * 取出Boolean類型的Property,但以System的Property優先.若是都爲Null拋出異常,若是內容不是true/false則返回false. */ public Boolean getBoolean(String key) { String value = getValue(key); if (value == null) { throw new NoSuchElementException(); } return Boolean.valueOf(value); } /** * 取出Boolean類型的Property,但以System的Property優先.若是都爲Null則返回Default值,若是內容不爲true/false則返回false. */ public Boolean getBoolean(String key, boolean defaultValue) { String value = getValue(key); return value != null ? Boolean.valueOf(value) : defaultValue; } /** * 載入多個文件, 文件路徑使用Spring Resource格式. */ private Properties loadProperties(String... resourcesPaths) { Properties props = new Properties(); for (String location : resourcesPaths) { // logger.debug("Loading properties file from:" + location); InputStream is = null; try { Resource resource = resourceLoader.getResource(location); is = resource.getInputStream(); props.load(is); } catch (IOException ex) { logger.info("Could not load properties from path:" + location + ", " + ex.getMessage()); } finally { IOUtils.closeQuietly(is); } } return props; } }