idea 自動注入@Autowired 警告 Field injection is not recommended 關閉


在使用 spring 框架中的依賴注入注解@Autowired時,idea報了一個警告 Field injection is not recommended

1,意思,字段的方式注入是不被推薦的

2,在了解具體原因之前,我們應該先明確 Spring 框架下的三種注入方式

1,字段注入,最簡單明了,也是被警告的方式

    @Autowired
    TestMapper testMapper;

2,構造器注入

    final
    TestMapper testMapper;

    @Autowired
    public UserServiceImpl(TestMapper testMapper) {
        this.testMapper = testMapper;
    }

3,SET 方法注入

    private TestMapper testMapper;

    @Autowired
    public void setTestMapper (TestMapper testMapper) {
        this.testMapper = testMapper;
    }

3,原因,優缺點分析

1,優點

變量方式注入非常簡潔,沒有任何多余代碼,非常有效的提高了java的簡潔性。即使再多幾個依賴一樣能解決掉這個問題

2,缺點

不能有效的指明依賴。相信很多人都遇見過一個bug,依賴注入的對象為null,在啟動依賴容器時遇到這個問題都是配置的依賴注入少了一個注解什么的,
然而這種方式就過於依賴注入容器了,當沒有啟動整個依賴容器時,這個類就不能運轉,在反射時無法提供這個類需要的依賴

3,基於以上問題,官方已經不推薦使用 字段注入,但是對於已經習慣使用字段注入又有強迫症的我們,每次看到那個警告,就很難受,那我們怎么關閉它呢?

4,關閉提示 File >> Setting 去掉下面方框的勾選


免責聲明!

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



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