1. 程式人生 > >spring boot 中PropertiesUtil 工具類的建立和應用

spring boot 中PropertiesUtil 工具類的建立和應用

在spring boot 專案中 使用 自定義 PropertyPlaceholderConfigurer會造成 @Vaule 無法正常注入,spring boot 已經有一個預設的實現,所以會造成衝突,

在spriing mvc 中可以 使用PropertyPlaceholderConfigurer 來實現靜態方法獲取配置引數,那在 spring boot 中如何實現呢?

使用  Environment env;  類,這個是spring boot 自帶的環境資訊獲取工具,使用方法如下:

package com.company.project.util;

import org.apache.commons.lang3.StringUtils;
import 
org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.MissingResourceException; /** * Parsing The Configuration File * * @author ShenHuaJie * @version 2016年7月30日 下午11:41:53
*/ @Component public final class PropertiesUtil { public static final byte[] KEY = { 9, -1, 0, 5, 39, 8, 6, 19 }; private static Environment env; @Autowired protected void set(Environment env) throws IOException { PropertiesUtil.env = env; } /** * Get a value based on key , if key does not exist , null is returned
* * @param key * @return */ public static String getString(String key) { try { return env.getProperty(key); } catch (MissingResourceException e) { return null; } } /** * Get a value based on key , if key does not exist , null is returned * * @param key * @return */ public static String getString(String key, String defaultValue) { try { String value = env.getProperty(key); if (DataUtil.isEmpty(value)) { return defaultValue; } return value; } catch (MissingResourceException e) { return defaultValue; } } /** * 根據key獲取值 * * @param key * @return */ public static int getInt(String key) { return Integer.parseInt(env.getProperty(key)); } /** * 根據key獲取值 * * @param key * @param defaultValue * @return */ public static int getInt(String key, int defaultValue) { String value = env.getProperty(key); if (StringUtils.isBlank(value)) { return defaultValue; } return Integer.parseInt(value); } /** * 根據key獲取值 * * @param key * @param defaultValue * @return */ public static boolean getBoolean(String key, boolean defaultValue) { String value = env.getProperty(key); if (StringUtils.isBlank(value)) { return defaultValue; } return new Boolean(value); } }