utils工具类想调用dao层接口怎么办?

今天需要在utils包下写一个关于租金计算的方法,但需要调用dao层接口去查询数据库数据,大家都知道正常情况下@Autowired无法注入静态的bean,记录一下我学到的两种方法。

  1. 第一种
@Component
public class RentCalculationUtil {
    private static RentApplyDao rentApplyDao;
    private static HouseSourceDao houseSourceDao;
    @Autowired
    public RentCalculationUtil(RentApplyDao rentApplyDao, HouseSourceDao houseSourceDao){
        RentCalculationUtil.rentApplyDao = rentApplyDao;
        RentCalculationUtil.houseSourceDao = houseSourceDao;
    }
}
  1. 第二种
public class RentCalculationUtil {
    private static final RentApplyDao rentApplyDao = SpringContextHolder.getBean(RentApplyDao.class);
    private static final HouseSourceDao houseSourceDao = SpringContextHolder.getBean(HouseSourceDao.class);
}

我推荐第二种,第一种Idea会在形参下面划红色下划线,是idea本身的问题,虽然说可以调,但是作为一名拥有强迫症且懒的程序员,我实在难以忍受,第二种代码也更加简单!!!

你可能感兴趣的:(java开发,java,spring)