springboot自动装配静态成员变量

首先要说的是,springboot并不能装配静态类,但可以通过以下骚操作来实现:

@Component
public class StatisticLogger {

  private static Dao dao;

  @Autowired
  private Dao dao0;

  @PostConstruct     
  private void initStaticDao () {
     dao = this.dao0;
  }

}

换句话说,自动装配(@Autowired)一个成员变量,然后在这个类构造时把这个值赋给静态类。顺便一说,这个静态类也要被spring管理,所以要加个@Component注解。
译自:https://stackoverflow.com/questions/11392692/autowired-in-static-classes

posted @ 2021-06-22 23:49  xDaniel  阅读(692)  评论(0编辑  收藏  举报