首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在构造函数上使用spring boot自动注解的目的是什么?

在构造函数上使用spring boot自动注解的目的是什么?
EN

Stack Overflow用户
提问于 2020-02-17 01:50:40
回答 2查看 51关注 0票数 0

构造函数上的@Autowired注解的用途是什么?未带注释的构造函数和带注释的构造函数有什么区别?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-02-17 02:16:06

自动装配功能使您能够隐式地注入对象依赖。

在没有自动装配的情况下,您必须初始化对象,如下所示:

代码语言:javascript
复制
    public class SomeOperation() {

        private CarService carService;

        public SomeOperation() {

            carService = new CarServiceImpl();
        }
    }

但是如果你用@Autowired注解,你就不需要初始化对象了。框架将带来实现carService的类,并使用它初始化您的对象。

代码语言:javascript
复制
    public class SomeOperation() {

        private CarService carService;

        @Autowired
        public SomeOperation(CarService carService) {

            this.carService = carService;
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2020-02-17 02:17:54

未带注释的构造函数和带注释的构造函数有什么区别?

在Spring3或更低版本中,构造函数上的注释是必需的,以使Spring将构造函数视为实例化bean和注入参数中提供的依赖项的方法。

Spring4和更高版本不需要注释来做到这一点。您只需使用任何参数声明构造函数即可实现此目的。

因此,在最新的Spring版本中,不要用注释弄乱代码:

代码语言:javascript
复制
public Foo(Bar bar){
  this.bar = bar;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60251398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档