我是Spring Boot的新手,对此我感到困惑
@Autowired
serviceDemo serviceDemo
从ApplicationContext获取bean是相同还是不同? 如果它们相同,那我应该使用哪种方法
答案 0 :(得分:0)
这取决于您要实现的目标,但要总结一下;
@Bean在应用程序范围内注册实例。这样便可以访问它,以备后用。
@Autowired实际上要求一个已经在作用域中注册的特定bean的实例。
尽管不完全相同,但是您可以考虑使用@Service批注。它告诉spring该类是服务,并在范围内注册它的bean。如果您使用不同的类,请说一个控制器(取决于您的用例,使用@Controller或@RestController),然后只需尝试访问您创建的服务,您很可能会遇到错误。这是因为尽管您的IDE可能会识别服务位置,但是spring不能识别。添加@Autowired会在启动应用程序时在Bean和实例化之间建立一个“链接”。