Foo.java
@RestController
@RequestMapping("/foo")
public class Foo{
@Autowired
Bar bar;
@RequestMapping("/beanTest")
public void beanTest() {
System.out.println("Foo's Bar is "+bar);
}
}
Bar.java
@RestController
class Bar{ }
Config.java
@Configuration
public class Config {
@Bean
public Bar getBar() {
Bar bar=new Bar();
System.out.println("@Bean Bar is "+bar);
return bar;
}
}
问题:
问题是我们有2个Bar bean 1个,分别为@RestController和@Bean创建。
现在,当我们使用@Autowired批注对Bar进行自动装配时,由@Bean创建的bean不是
被注射而另一人被捡起为什么?
根据我的说法,这里有2个针对相同类型的酒吧在应用程序上下文中注册
应用程序应该失败,因为它不能决定要注入哪个。
OUTPUT :
@Bean Bar is com.example.practiceBoot.controller.Bar@56e07a08
Foo's Bar is com.example.practiceBoot.controller.Bar@6ae18a78