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 去掉下面方框的勾选

原文地址:https://www.cnblogs.com/lovling/p/12492320.html