当前位置: 首页 > news >正文

Java - 工具类参数初始化

在做第三方接口调用时,经常需要根据不同的环境指定初始化的参数。以下做一个简单的记录。

一、使用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
http://www.lryc.cn/news/208774.html

相关文章:

  • 一文搞懂 MineCraft 服务器启动操作和常见问题 2023年10月
  • 第2篇 机器学习基础 —(2)分类和回归
  • Java游戏修炼手册:2023 最新学习线路图
  • 前端访问geoserver服务发生跨域的解决办法,以及利用html2canvas下载绘制的地图
  • Word docx转html和markdown
  • API商品数据接口调用爬虫实战
  • 【Python机器学习】零基础掌握GaussianProcessClassifier高斯过程
  • SQL-正则表达式和约束
  • “人类高质量数据”如何训练计算机视觉模型?
  • ListenableFuture和countdownlatch使用example
  • C- strtok() strtok_r()
  • order by数据过多引起的cpu飙升
  • namespace命名空间
  • golang中如何配置 sql.DB 以获得更好的性能
  • JAVA同城服务智慧养老小程序怎么开发?
  • Linux防火墙:Firewalld 常用命令
  • Java BigInteger比Long更大的整数自增转字符串存储
  • BigDecimal应用——计算费用场景中用到Integer,Double,BigDecimal三种类型出现的意外情况 结合BigDecimal源码分析
  • 数据抓取可以应用到哪些行业
  • 目标检测YOLO实战应用案例100讲-面向小目标检测的多尺度特征融合(续)
  • 如何选择适合的美颜SDK?
  • Spring-底层架构核心概念
  • RabbitMQ初入门
  • 电脑定时关机
  • 【算法】滑动窗口题单——4.不定长滑动窗口(求子数组个数)
  • CMake aux_source_directory 学习
  • Mybatis中延迟加载~
  • 【C语言】memmove()函数(拷贝重叠内存块函数详解)
  • 04-流媒体-ffmpeg.c源码分析
  • 迭代器 Iterator