不同环境下的配置文件

最后更新:2023-09-29 10:01:28 | 状态:未完成

以anyline-aliyun-sms为例,每个工具类都会对应一个配置类与默认实例化类

如SMSUtil对应SMSConfig与SMSBean
SMSConfig用来配置帐号密码等

SMSBean用来在系统启动中往Spring上下文中注入一个默认的SMSUtil实例

SMSUtil就是开发中常用的工具了,如发送短信、查询短信接收状态、创建短信模板等


其中SMSConfig中的变量可以通过多种方式设置

1.配置文件anyline-aliyun-sms.xml(根据SMSConfig中的静态变量CONFIG_NAME = "anyline-aliyun-sms.xml";)

这个配置文件中可以配置多组帐号密码,开发过程中根据需要生成针对不同帐号的util

一般这样配置

<configs>
<config key="default">帐号、密码等</config>
<config key="instance-oa">帐号、密码等</config>
<config key="instance-crm">帐号、密码等</config>
</configs>
SMSUtil.getInstance("instance-crm")的方式获取不同的util


2.如果帐号无限多、如开发一个SAAS平台,这时的帐号密码会由不同的租户或用户自己设置,数据通常要保存在数据中。在运行过程中根据用户环境来调用不同的util

在实例化util前可以通过

SMSConfig.register("用户编号", DataRow)的方式先注册,其中DataRow中的KEY与配置文件中的KEY相对应

SMSConfig中一般会提供多个register的重载

再通过SMSUtil.getInstance("用户编号")的方式获取util


3.对于一些简单的项目,不想使用配置文件的可以通过2的方式直接register方式注册一个

也可以设置SMSConfig中的静态变更 DEFAULT_配置文件中的KEY  

如DEFAULT_ACCOUNT(对应配置文件中的ACCOUNT)、DEFAULT_PASSWORD(对应配置文件中的PASSWORD)

这样在系统启动后会在Spring上下文中默认注入一个SMSUtil实例


4.现有的项目配置文件中设置,参考SMSBean中的属性

    @Value("${anyline.aliyun.sms.key:}")
    private String ACCESS_KEY;

这样在系统启动后会在Spring上下文中默认注入一个SMSUtil实例


5.nacos配置中心

需要添加依赖anyline-nacos

anyline-nacos本身也有配置文件用来指定NACOS配置中心地址以及namespace/group

可以通过anyline-nacos.xml配置文件设置

如果是spring boot项目则按spring boot方式来配置如 nacos.config.server-addr

如果是spring cloud项目则按spring cloud方式来配置如 spring.cloud.nacos.config.server-addr

配置好nacos后在nacos中根据 根据SMSConfig中的静态变量CONFIG_NAME = "anyline-aliyun-sms.xml" 命名nacos中的dataId


首页 最近更新 搜索 提交 回复