Java静态类使用 使用 service

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();
    }

--------------------- 
作者:ObsessionLife 
来源:CSDN 
原文:https://blog.csdn.net/tjuyanming/article/details/78679978 
版权声明:本文为博主原创文章,转载请附上博文链接!