不同环境下的配置文件
以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