美文网首页
解决@Autowired警告Field injection is

解决@Autowired警告Field injection is

作者: 一只有思想的小蚂蚁 | 来源:发表于2020-10-23 12:39 被阅读0次
    @Autowired警告

    在使用@Autowired注解进行注入时,IDEA经常会警告Field injection is not recommended。点击查看警告详细:Spring Team recommends : “Always use constuctor based dependency injection in your beans ,Always use assertions for mandatory dependencies”.这句话的意思是Spring团队建议:“总是在您的bean中使用构造函数建立依赖注入。始终对强制依赖项使用断言”。

    解决方法一

    可以采用构造器注入方式来解决:

    private final UserService userService;

    @Autowired

    public UserController(UserService userService) {

        this.userService = userService;

    }

    解决方法二

    也可以将@Autowired注解替换为@Resource注解

    @Autowired总结:

    可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。

    可以采取对应的field注入,set方法注入,构造器注入。

    field注入方式:

    @Autowired

    private UserService userService;

    set方法注入方式:

    private UserService userService;

    @Autowired

    public void setUserService(UserService userService){

        this.userService = userService;

    }

    构造器注入方式:

    private final UserService userService;

    @Autowired

    public UserController(UserService userService) {

        this.userService = userService;

    }

    相关文章

      网友评论

          本文标题:解决@Autowired警告Field injection is

          本文链接:https://www.haomeiwen.com/subject/rnlvmktx.html