目录
- Spring静态注入实现读取配置工具类
- Spring两种方式注入到静态工具类里
Spring静态注入实现读取配置工具类
Spring静态注入的核心首先是需要是一个Bean,才可以从Spring上下文中注入Bean,下例中environment是需要Autowired注入的Bean,之所以选择Environment是因为它有Spring已经加载好的属性配置,直接拿来用比从文件中读取更优雅,从文件中读取需要面临jar包外部配置问题,暂时未找到较好解决办法。

@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。此处把PropertiesUtils被Spring实例化的Bean赋值给静态变量tool,后续可以通过tool使用实例化好的PropertiesUtils的Bean。
getProperty作为根据key获取指的静态方法,实现获取配置属性。
核心代码
@Component
public class PropertiesUtils {
private static PropertiesUtils tool;
@Autowired
private Environment environment;
public static String getProperty(String property) {
return tool.environment.getProperty(property);
}
@PostConstruct
public void init() {
tool = this;
tool.environment = this.environment;
}
}
实现Starter关键步骤——配置类,自动配置PropertiesUtils的Bean
public class AutoConfig {
@Bean
private PropertiesUtils propertiesUtils() {
return new PropertiesUtils();
}
}
实现Starter关键步骤——在resources的创建META-INF文件夹,创建spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.AutoConfig
拓展
Environment :
- Spring 为运行环境提供的高度抽象接口,项目运行中的所有相关配置都基于此接口,用来表示整个应用运行时的环境。
- 该接口继承自PropertyResolver,而PropertyResolver规范了解析底层任意property资源,也就意味着application.properties是由PropertyResolver管理。
- PropertyResolver提供了方法getProperty(String key),该方法通过传入properties文件中定义的key,返回与给定键关联的属性值。
Spring两种方式注入到静态工具类里
需要注意的是下边的两个方法都需要工具类创建实例的时候才会注入。所以不建议在工具类注入实例。因为一般工具类都是直接通过类来使用的。
直接上代码
方式1
//可以换成@Configuration,与@Inject配合使用
@Componentpublic
class XXUtils {
//可以换成@Inject/ @Autowired
@Resource
private XXXProperties xxxPropertiesAutowired;
private static XXXProperties xxxProperties;
@PostConstruct
public void init() {
this.xxxPropertiesAutowired = xxxProperties;
}
}
方式2:zs
@Component
public class UrlUtil {
private static RRJConfig rrjConfig;
@Autowired
public void setRRJConfig(RRJConfig rRJConfig) {
UrlUtil.rrjConfig = rRJConfig;
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关推荐:
从“官网扒下来”看企业数字化转型的未来,摄影营销策略推广文案
SEO教研:数字营销新趋势,提升网站流量与转化率的关键,齐鲁证券网站建设
用AI写一篇文章,如何提升你的写作效率与创意
SEO优化:提升网站流量的终极指南,揭阳网站快速推广
ChatGPTDNS出问题?如何快速解决并保障网络畅通,墨镜ai照片
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
seo链接有什么用,seo外链是什么意思 ,one ai写作
AI撰写工具的无限可能,让内容创作更高效、更精彩!
ChatGPT当前不可用?如何应对AI服务中断的挑战,ai文章免费写作app
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
AI人工智能:改变未来的科技革命
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
ChatGPT画布打不开?如何解决这一常见问题?,Ai怎么储存为Ai格式在桌面
SEO量:提升网站流量和排名的关键法则,德兴seo
用AI生成文章,让创作更简单高效
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
什么是seo公司口碑,seo品牌 ,ai大模型训练是什么意思
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
【BVIP尊享体验:超越奢华,开启专属未来】,珠宝网站建设思路
摘要AI生成:高效工作的新时代利器
如何识别文章是否由AI写作:技巧与方法解析
为什么做seo矩阵项目,为什么做seo矩阵项目不能做 ,怎么用ai写作
《“查看更多”背后的秘密:让你的人生更加丰富多彩!》,宁安公司网站建设
为什么做抖音seo,为什么做抖音推广 ,描边ai虚线
SEO数量-如何提升你的网站排名与流量?,射阳seo优化五星服务
SEO自从上线后的演变与未来发展趋势,拼多多增加关键词排名
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
OpenPose大白话解释:让你轻松理解姿态识别的神奇技术,ai天天晴
ChatGPT可以实现新闻报道的即时自动化生成,怎么更改ai2的图标
SEO舆情:如何通过有效的舆情管理提升企业品牌形象,seo推广外包提高收录
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
文章去AI回归创作的本真之美
seo用什么手法,seo方式 ,ai绘画飞翔
怎么使用AI生成文章,轻松提升写作效率!
seo词库优化,搜索词条优化 ,ai点选择
ChatGPT破解版:让人工智能助力你的工作与生活,ai cos帽
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
ChatGPT无法加载?检查您的网络设置并尝试重启Chat,ai写作怎么写作文的
什么是seo的豆子,何为seo ,ai圆复制
好用的人工智能AI软件推荐,让你的生活更智能!
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
主流seo是什么,seo是什么推广网站 ,AI心理师
ChatGPT为什么打不开?背后原因与解决方案,慧ai写作
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
AI网页版智能问答,开启智慧沟通新时代,ai梦境档案用不了手柄