Java 使用@inject注释
如果一个类和另一个类都在不同的maven项目中,如何将它们的依赖关系注入到另一个类中。 我不想使用import语句,因为添加import语句意味着必须在pom.xml中添加依赖项,这会导致循环依赖项问题Java 使用@inject注释,java,dependency-injection,Java,Dependency Injection,如果一个类和另一个类都在不同的maven项目中,如何将它们的依赖关系注入到另一个类中。 我不想使用import语句,因为添加import语句意味着必须在pom.xml中添加依赖项,这会导致循环依赖项问题 因此,我需要使用@inject注入依赖项ay运行时。导入仅意味着您的配置文件(无论是xml配置还是@configuration注释的java类)位于类路径上。这与maven无关。Maven管理模块依赖关系,而spring管理类依赖关系 假设您有2个maven模块: module A: my.pr
因此,我需要使用@inject注入依赖项ay运行时。导入仅意味着您的配置文件(无论是xml配置还是
@configuration
注释的java类)位于类路径上。这与maven无关。Maven管理模块依赖关系,而spring管理类依赖关系
假设您有2个maven模块:
module A: my.project.artifact1
module B: my.project.artifact2
模块A有一个beanbean1
,它需要注入到模块B中的bean中
模块A有一个依赖项:
<dependency>
<groupId>my.project</groupId>
<artifactId>artifact2</artifactId>
</dependency>
如果您在模块A中使用组件扫描,并且bean1
在您的类路径中-没有问题。它将被注入bean2
。如果没有,则应在XML中定义它:
<bean id="bean2" class="Bean2">
<propery name="bean1" ref="bean1"></property>
</bean>
就这样。无需依赖A
中的B
您应该(在大多数情况下)拥有一个接口,
Bean1
实现并驻留在模块a和B都依赖的第三个、通用的模块中。将尝试这样做..谢谢:)@saxenka-我在代码示例中编写了@Autowired
,但我的意思是@Inject
(他们都做同样的事情,但是你问了@Inject
)。我现在编辑了答案。
<bean id="bean2" class="Bean2">
<propery name="bean1" ref="bean1"></property>
</bean>