@Value注入static属性
Posted justlove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Value注入static属性相关的知识,希望对你有一定的参考价值。
1. 给参数注入,执行set方法
public class SendMessageCenter
private static String message;
private static String page;
@Value("$great-plat.messageCenter")
public void setMessage(String message)
SendMessageCenter.message = message;
@Value("$great-plat.page")
public void setPage(String page)
SendMessageCenter.page = page;
在set方法上面添加注解的,一定要在Class上添加@Component注解,这样Spring才能扫描到。 如果用xml配置扫描包。需要加载spring-mvc.xml。
2.给中间变量赋值
public class SendMessageCenter private static String message; private static String page; @Value("$great-plat.messageCenter") private String messageTmp; @Value("$great-plat.page") private String pageTmp; @PostConstruct public void init() message=messageTmp; page=pageTmp;
初始化操作顺序:Constructor>>@Autowired>>@PostConsruct
扩展: 如果现在生成对象时候完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么就无法在构造函数中实现,为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法会在依赖注入完成后被自动调用。
以上是关于@Value注入static属性的主要内容,如果未能解决你的问题,请参考以下文章
spring注入时bean的set方法为啥不能是static类型的?
Spring中属性注入——复杂属性list,map,set,arr等的注入