@Value不能给静态变量直接赋值问题


1. 平时用的时候,直接在变量头上加上@Value就能到值(其中path.url是配置文件properties的。)。

@Value("${path.url}")
private String url;

2. 但是当url被static修饰之后,就赋不了值。

@Value("${path.url}")
private static String url;

这里是因为Spring Boot 不允许/不支持把值注入到静态变量中,但是也给出了解决的方案。

3.把@Value("${path.url}")放在静态变量的set方法上面即可,需要注意的是set方法要去掉static,有些朋友习惯性的快捷键生成set方法而没有去掉static,导致还是赋值失败。还有就是当前类要交给spring来管理。

private static String url;

// 记得去掉static
@Value("${mysql.url}")
public void setDriver(String url) {
     JdbcUtils.url= url;
}

 

美好生活来源于点点滴滴的记录。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM