怎么才能安全的给 spring bean 的静态变量注入值?

2021-02-20 16:45:39 +08:00
 luxinfl

用过注入非静态 setter 方法给静态变量注入,但是 jekkins 扫描代码的时候,会提示一个安全问题,然后让我们修改。这个有解麽。。。。。。 说一下场景,我需要在 yml 配置一个过期时间,然后在一个单例里面用这个值初始化。

1308 次点击
所在节点    程序员
4 条回复
uselessVisitor
2021-02-20 17:30:08 +08:00
@Component
public class Test {

private static AddressService addressService;
@Autowired
public Test(AddressService addressService){
Test.addressService = addressService;
}

public static void test(){
addressService.addressLog();
}
}
一定要用 setter 吗?我用构造函数注入的也可以用。。。
chendy
2021-02-20 17:45:44 +08:00
解数据的类实现 InitializingBean,在 afterPropertiesSet 里把东西 set 给静态变量
luxinfl
2021-02-23 09:53:30 +08:00
@beichenhpy 这个不太行,因为有另一个静态变量会用到这个参数。
luxinfl
2021-02-23 09:54:14 +08:00
@chendy 这个是不是只能用在成员变量啊。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/754667

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX