Spring Boot GetBean与自动接线

时间:2018-09-18 11:14:00

标签: spring-boot

我是Spring Boot的新手,对此我感到困惑

@Autowired
serviceDemo serviceDemo

从ApplicationContext获取bean是相同还是不同? 如果它们相同,那我应该使用哪种方法

1 个答案:

答案 0 :(得分:0)

这取决于您要实现的目标,但要总结一下;

@Bean在应用程序范围内注册实例。这样便可以访问它,以备后用。

@Autowired实际上要求一个已经在作用域中注册的特定bean的实例。

尽管不完全相同,但是您可以考虑使用@Service批注。它告诉spring该类是服务,并在范围内注册它的bean。如果您使用不同的类,请说一个控制器(取决于您的用例,使用@Controller或@RestController),然后只需尝试访问您创建的服务,您很可能会遇到错误。这是因为尽管您的IDE可能会识别服务位置,但是spring不能识别。添加@Autowired会在启动应用程序时在Bean和实例化之间建立一个“链接”。