@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注解的方法会在依赖注入完成后被自动调用。