栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

@Bean和@Autowired之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

@Bean和@Autowired之间的区别

@Bean
@Autowired
做两件事。此处的其他答案将更详细地解释,但更为简单:

  • @Bean
    告诉Spring’这是此类的一个实例,请保留该类,并在我询问时将其还给我’。

  • @Autowired
    说“请给我一个该类的实例,例如,我@Bean之前用注释创建的一个实例”。

那有意义吗?在第一个示例中,你要让Spring给你一个的实例

BookingService
,但是你从未创建一个实例,因此Spring没有任何东西可以给你。在第二个示例中,你将创建一个的新实例
BookingService
,将其告知Spring,然后在该main()方法中要求其返回。

如果需要,可以从第二种

main()
方法中删除另外两行,并结合以下两个示例:

@SpringBootApplicationpublic class Application {  @Autowired  BookingService bookingService;  @Bean  BookingService bookingService() {    return new BookingService();  }  public static void main(String[] args) {    bookingService.book("Alice", "Bob", "Carol");  }}

在这种情况下,

@Bean
注释为Spring提供了
BookingService
,并加以
@Autowired
利用。

这将是一个毫无意义的示例,因为你都在同一个类中使用它们,但是如果你

@Bean
在一个类中定义了该类,而在另一个类中定义了它,则它将变得很有用
@Autowired



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415074.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号