因为spring加载静态方法比IOC早,所以不能直接使用@Value注解读取yml配置,读取结果往往是null。
我们可以通过@PostConstruct在服务加载Servlet的时候运行
@Configuration
public class DemoConfig {
//给静态变量赋值
@Value("${mvc.test}")
public int test;
public void setTest(int test) {
this.test = test;
}
public static int TEST;
@PostConstruct
public void init(){
DemoConfig.TEST = test;
}
}
然后在我们需要的地方调用就行了
@Component
public class MyConfig {
public void show(){
System.out.println(DemoConfig.TEST);
}
}
我们可以通过@AutoConfigureAfter
来在当前类注入到容器之前去加载相关配置类
@Configuration
public class DemoConfig {
public static int test;
//给静态变量赋值
@Value("${mvc.test}")
public void setTest(int test) {
DemoConfig.test = test;
}
}
@AutoConfigureAfter({DemoConfig.class}) //加载当前文件之前先去加载DemoConfig文件
@Component
public class MyConfig {
public void show(){
//然后在我们需要的地方调用就行了
System.out.println(DemoConfig.test);
}
}
点赞 -收藏-关注-便于以后复习和收到最新内容有其他问题在评论区讨论-或者私信我-收到会在第一时间回复感谢,配合,希望我的努力对你有帮助^_^
免责声明:本文部分素材来源于网络,版权归原创者所有,如存在文章/图片/音视频等使用不当的情况,请随时私信联系我。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://huanmin.blog.csdn.net/article/details/125407021
内容来源于网络,如有侵权,请联系作者删除!