工具類中注入service和dao


今天編寫了個工具類需要用到service成和dao層的代碼

如下:

  //第一步:需要將工具類注入到容器中
  @Component
  public class RuleUtils {
  ​
     //第二部注入
      @Autowired
      private  BsVehicleInfoServiceImpl bsVehicleInfoImpl;
      @Autowired
      private  BsAlarmInfoMapper alarmInfoMapper;
    
      //第三步 建一個靜態的本類 
      private static  RuleUtils ruleUtils;
  ​
      //第四步 初始化
      @PostConstruct
      public void init() {
          ruleUtils = this;
      }
  ​
      
      public static BsAlarmInfo isInandoutRule(String[] ms){
        //第五步  這里用類的屬性去進行調用
        ruleUtils.bsVehicleInfoImpl.add(ms);
      }

講解一下代碼編寫的思路:

1.容器去管理我們的組件

2.組件中我們先執行的是靜態方法,因為我們的方法是靜態方法所以會先執行,但是這個時候我們@autowired注入的組件還沒有被注入進來,所以此時會是null

3.靜態方法執行完之后是執行我們的構造器

4.構造器之后是我們@autowired的組件被注入進來

5.然后執行@postconstruct標注的方法(PostConstruct在構造函數之后執行,只會執行一次)方法中我們對組件進行初始化,因為這時候service/dao已經被注入進來,所以我們將注入好的類賦值一下

6.最后我們用類的屬性去調用方法就可以了。

7.Constructor >> @Autowired >> @PostConstruct


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM