繁体   English   中英

插件 Class 的依赖注入

[英]Dependency Injection for Plugin Class

我在 jar 文件中有一个 class

Class A {
  B b;
  C c;
//setter based injection
}

现在我想在另一个项目中创建一个 A 的 bean。 但是我没有任何主要的 class 来配置 Spring 应用程序。 我的 pom.xml 中有一个插件,它在我的项目中调用 Class D。 如果我使用new关键字创建一个 bean,则 jar 中的所有自动装配的 bean 都将不可用。 请提出任何方法来做到这一点。

注意:这是 Spring 应用程序,而不是 Spring 启动。

为了能够自动装配 bean,您需要将该 bean 注册为 Spring 管理的 bean。 您可以通过多种方式做到这一点,以下是最简单的方式:

1)@Component注解

如果您使用@Component Spring 注释A将创建 class 的实例并将其注册为 Spring 管理的 bean:

@Component
Class A {
  B b;
  C c;
//setter based injection
}

2)@Bean注解

注册 Bean 的另一种方法是使用配置 class 和@Bean注释:

@Configuration
public class AppConfig {
    @Bean
    public A a() {
        return new A();
    }
}

如果我正确理解您的用例,您将需要使用选项 2)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM