[Spring Boot实战系列]

来源:互联网 发布:淘宝先锋乒羽商城 编辑:程序博客网 时间:2024/06/07 18:42

Springboot中如果希望在Utils工具类中,使用到我们已经定义过的Dao层或者Service层Bean,可以如下编写Utils类:

1. 使用@Component注解标记工具类StatisticsUtils:

2. 使用@Autowired(@Autowired和@Resource的区别不再介绍)注入我们需要的bean:

3. 在工具类中编写init()函数,并使用@PostConstruct注解标记工具类,初始化Bean:

public class StatisticsUtils {    @Autowired    private IdeaMemberDao ideaMemberDao;    @Autowired    private ProjectMemberDao projectMemberDao;    @Autowired    private IdeaMgrDao ideaMgrDao;    @Autowired    private ProjectMgrDao projectMgrDao;    public static StatisticsUtils statisticsUtils;    @PostConstruct    public void init() {        statisticsUtils = this;        statisticsUtils.ideaMemberDao = this.ideaMemberDao;        statisticsUtils.projectMemberDao = this.projectMemberDao;        statisticsUtils.ideaMgrDao = this.ideaMgrDao;        statisticsUtils.projectMgrDao = this.projectMgrDao;    }}
4. 然后我们在StatustucsUtils.getIdeaParticipateNum函数中,就可以使用到我们注入的ideaMemberDao了

    public static Integer getIdeaParticipateNum(){        return statisticsUtils.ideaMemberDao.NumOfIdea();    }