page contents

@Bean和@Autowired是否可以相互替换使用 有区别吗

Pack 发布于 2020-02-26 17:45
阅读 813
收藏 0
分类:Java开发

请问下@Bean和@Autowired 都是注入类的实例 有什么区别吗?

453
Pack
Pack

@Bean 注解没太详细研究过。 不过这两个注解还是有区别的。不建议替换使用。

首先@bean这个注解是为了标注当前的类型是一个可实例化的对象。也是Spring框架中,在启动过程中就会扫描的一个主要注解,而@autowired是一个注入注解,表示需要向这个类类型的变量注入一个实例化对象,而它时在扫描bean类的时候,通过查看有没有给属性标识autowired,来判断是否需要注入,而且默认是根据type进行注入,而一般用autowired时,我们的类型一般是接口,如果这个接口有多个实现,可以配和Qualifier注解找到唯一的实例化对象。

当然从最终现象来说都是拿到一个实例化对象,但是不同就在于返回的实例化对象的产生方式。

请先 登录 后评论