gpt4 book ai didi

java - 如何在同一个 bundle (模块)内的另一个服务中使用服务?

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:27 25 4
gpt4 key购买 nike

我的项目中有 2 个包。当第一个 bundle 启动时,第二个 bundle 使用其中的服务。但是如何在 bundle 内的服务中使用服务?

<service ref="EMUtilService" interface="domain.access.EMUtil"/>

<bean id="EMUtilService" class="domain.access.impl.EMUtilImpl" scope="singleton">
<jpa:context unitname="access" property="entityManager"/>
<tx:transaction method="*" value="RequiresNew"/>
</bean>

<service ref="userService" interface="domain.access.UserService"/>

<bean id="userService" class="domain.access.impl.UserServiceImpl" scope="singleton">
</bean>

我想在 userService 或其他简单的类中使用 EMUtilService

我的EMUtilService

public class EMUtilImpl implements EMUtil {
private EntityManager entityManager;

public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}

@Override
public EntityManager getEntityManager() {
return entityManager;
}
}

我想在此服务中初始化 EntityManager 并在其他类中使用它。

最佳答案

Blueprint 很大程度上受到 Spring(它是 Spring DM 的后继者)的启发,因此,它支持将 bean/服务注入(inject)其他 bean 的相同语法。您可以在 bean 定义上放置一个 id,然后将该 bean 注入(inject)到另一个 bean 的属性中:

<bean id="mybean" class="my.package.MyClass"/>

<bean id="myService" class="my.package.MyService">
<property name="myProperty" ref="mybean"/>
</bean>

关于java - 如何在同一个 bundle (模块)内的另一个服务中使用服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35883122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com