我的@Configuration定义了几个Bean - A & B。
@Configuration
public class MyConfiguration {
@Bean
public A supplyA() {
return new A(...);
}
@Bean
public B supplyB() {
return new B(...);
}
}
我希望我应该在需要它们的地方@Autowire A和B,就像这样。
@Controller
public MyController {
@Autowire
public MyController(A a, B b) {
}
}
但如果不在构造函数中使用@Autowire,它就能正常工作。这到底是怎么回事?(如果这很重要的话,我用的是Spring 5)
我想你正在尝试的是 constructor
注射,检查 https:/docs.spring.iospringdocs4.3.26.RELEASEspring-framework-referencehtmlsingle#beans-constructor-injection。
@Autowire,通常用于 set
注射。
请了解两者的区别,再做改变。