@Value注入static属性

1. 给参数注入,执行set方法

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

猜你喜欢

转载自www.cnblogs.com/vincentxin/p/9638729.html