9月3
最近在做项目时,需要要工具类中对属性进行赋值,里面有appID和appsecret,因为这两个都是相对固定不会变动的东西,所以配在配置文件 或者数据库配置表最好,这边使用的是配置文件(application.yml),然后通过@Value()属性注入到对应的属性中。
刚开始在做的时候,启动项目后发现通过使用@Value注解对这两个属性进行赋值,结果两个都注不进去。
这个让我很苦恼,通过查找资料。找到了通过set的办法进行注入,并成功。
解决办法:
1.将这两个私有属性的set方法从私有变成公开(private -->>> public);
2.生成这两个静态属性的set方法;
3.将原来在静态属性上的@Value() 注解改到设在 set方法上;
4.去除这两个静态属性set方法的static关键字
类上面的@Compoent 注解一定要有,一定要注意set方法是没有static的,否则取不到值的。
public static String appId;
public static String secret;
@Value("${weixin.mp.appid}")
public void setAppId(String appId) {
WeixinUtil.appId = appId;
}
@Value("${weixin.mp.secret}")
public void setSecret(String secret) {
WeixinUtil.secret = secret;
}
public static String getAppId() {
return appId;
}
public static String getSecret() {
return secret;
}
改完后,重新启动项目,调用该工具类,可以得到对应的配置值。
来源:Heck's Blog
地址:https://www.heckjj.com/post/513/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
刚开始在做的时候,启动项目后发现通过使用@Value注解对这两个属性进行赋值,结果两个都注不进去。
这个让我很苦恼,通过查找资料。找到了通过set的办法进行注入,并成功。
解决办法:
1.将这两个私有属性的set方法从私有变成公开(private -->>> public);
2.生成这两个静态属性的set方法;
3.将原来在静态属性上的@Value() 注解改到设在 set方法上;
4.去除这两个静态属性set方法的static关键字
类上面的@Compoent 注解一定要有,一定要注意set方法是没有static的,否则取不到值的。
public static String appId;
public static String secret;
@Value("${weixin.mp.appid}")
public void setAppId(String appId) {
WeixinUtil.appId = appId;
}
@Value("${weixin.mp.secret}")
public void setSecret(String secret) {
WeixinUtil.secret = secret;
}
public static String getAppId() {
return appId;
}
public static String getSecret() {
return secret;
}
改完后,重新启动项目,调用该工具类,可以得到对应的配置值。
来源:Heck's Blog
地址:https://www.heckjj.com/post/513/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
Tess4j问题:jav
使用Nginx对Webs



