番禺做网站企业,农业科技公司网站模板,wordpress 固定链接 id,做网站找什么公司工作在做第三方接口调用时#xff0c;经常需要根据不同的环境指定初始化的参数。以下做一个简单的记录。
一、使用static初始化
使用static初始化#xff0c;仅会初始化一次#xff0c;但无法从配置文件中获取参数。并且如果写了多个初始化工具类#xff0c;会互相覆盖。 /**…在做第三方接口调用时经常需要根据不同的环境指定初始化的参数。以下做一个简单的记录。
一、使用static初始化
使用static初始化仅会初始化一次但无法从配置文件中获取参数。并且如果写了多个初始化工具类会互相覆盖。 /*** 对接工具类*/Component
Slf4j
public class ApiUtils {private static ApiUtils apiUtils;// 生产环境配置private static String ak 123456;private static String sk 654321;Autowiredprivate RedisCache redisCache;// 需要参数初始化的实例private static ApiClient apiClient;PostConstructpublic void init() {System.out.println(ApiUtils初始化);apiUtils this;apiUtils.redisCache this.redisCache;}// 静态初始化仅初始化一次static {apiClient ApiClient.getInstance();apiClient.setAccessKey(ak);apiClient.setSecretKey(sk);apiClient.init();System.out.println(ApiClient初始化);}
}
二、根据配置文件获取参数初始化 Component
Slf4j
public class ApiUtils {private static ApiUtils apiUtils ;Autowiredprivate Environment environment;// 根据配置环境初始化的配置private static String ak;private static String sk;Autowiredprivate RedisCache redisCache;// 需要参数初始化的实例private static ApiClient apiClient;PostConstructpublic void init() {System.out.println(ApiUtils 初始化开始);apiUtils this;apiUtils .redisCache this.redisCache;apiClient ApiClient .getInstance();// 通过读取配置文件中指定的参数ak environment.getProperty(set.ak);sk environment.getProperty(set.sk);//应用App KeyapiClient.setAccessKey(ak);//应用App SecretapiClient.setSecretKey(sk);apiClient.init();System.out.println(ApiClient 初始化结束);}
}
yml配置文件设置
set:ak: 123456sk: 654321