[英]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.