Springboot中如果希望在Utils工具类中,使用到我们已经定义过的Dao层或者Service层Bean,可以如下编写Utils类:
1. 使用@Component注解标记工具类StatisticsUtils:
2. 使用@Autowired(@Autowired和@Resource的区别不再介绍)注入我们需要的bean:
3. 在工具类中编写init()函数,并使用@PostConstruct注解标记工具类,初始化Bean:
1public class StatisticsUtils { 2 3 @Autowired 4 private IdeaMemberDao ideaMemberDao; 5 @Autowired 6 private ProjectMemberDao projectMemberDao; 7 @Autowired 8 private IdeaMgrDao ideaMgrDao; 9 @Autowired 10 private ProjectMgrDao projectMgrDao; 11 12 public static StatisticsUtils statisticsUtils; 13 14 @PostConstruct 15 public void init() { 16 statisticsUtils = this; 17 statisticsUtils.ideaMemberDao = this.ideaMemberDao; 18 statisticsUtils.projectMemberDao = this.projectMemberDao; 19 statisticsUtils.ideaMgrDao = this.ideaMgrDao; 20 statisticsUtils.projectMgrDao = this.projectMgrDao; 21 22 }