spring - @Bean 和可选的 @Autowire
问题描述
我的 @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.io/spring/docs/4.3.26.RELEASE/spring-framework-reference/htmlsingle/#beans-constructor-injection
@Autowire,通常用于set
注入。
请先了解差异,然后再进行更改
推荐阅读
- sql - 在 PLSQL 中使用命名空间解析嵌套 XML
- git - 不需要接受提交以开发具有特定名称模式的分支
- python - 如何将鼠标按钮选择存储在列表中?
- java - 如何停止使用任务计划程序启动的进程
- python-3.x - 偶尔会弹出 StaleElementReferenceException 错误的问题
- python - Openpyxl将非空单元格读取为无
- javascript - 强制 RBAC 对 React 组件
- android-studio - 我无法在 android studio 上运行第一个应用程序
- unwrap - 无法强制 swift 5 的非可选类型“可达性”的展开值
- amazon-web-services - 在 cloudformation 中部署我的堆栈后如何安装软件