java - Autowiring 抽象组件

标签 java spring

我有一个原型(prototype) bean 工厂(CreateCarAction 是 spring bean,scope=prototype):

@Component("createCarActionFactory")
public abstract class CreateCarActionFactory  {

    @Lookup
    public abstract CreateCarAction createCarAction();
}

然后我像这样 Autowiring 它:

@Autowired
@Qualifier("createCarActionFactory")
private CreateCarActionFactory createCarActionFactory;

当我从 CreateCarActionFactory 中删除抽象时它起作用。当我删除抽象时,我必须实现 createCarAction() - 我不需要这个实现,因为 @Lookup 覆盖了它。当我从 CreateCarActionFactory 辞职时,我必须从 beanFactory 访问 CreateCarAction,所以我转向 Autowire beanFactory,它也很丑陋..

我可以 Autowiring 抽象 CreateCarActionFactory @Component 吗?

最佳答案

您可以 Autowiring 接口(interface),因此将 CreateCarActionFactory 从抽象类更改为接口(interface)。

关于java - Autowiring 抽象组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42541949/

相关文章:

docker - 从 docker 1.1.2 的 Java API 1.13 获取 cpu 使用情况

java - hs_err_pid 文件中的编译事件是什么意思?

java - Spring Boot 对无效请求的自定义错误响应

java - 在 PostgreSQL 中保存文件路径,删除反斜杠

spring - Spring中的@Configuration和@Component有什么区别?

java - 如何在处理2中读取oni文件?

java - 如何在迭代时删除和添加元素到 TreeMap?

java - 为每个选项卡 fragment 动态生成不同的内容(来自 JSON)

java - 在 Spring MVC 应用程序中修复 Null EntityManger?

java - 服务层中的一个或多个通用自定义异常 (Spring)