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



我在项目中有 2 个好友。当第一个捆绑包启动第二个捆绑包时,使用来自它的服务。但是,如何在捆绑包内的服务中使用服务?

<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初始化,并在另一个类中使用它。

蓝图很大程度上受到 Spring 的启发(它是 Spring DM 的继承者),因此,它支持将 bean/services 注入其他 bean 的相同语法。您可以在 Bean 定义中放置一个 id,并将此 Bean 注入到另一个 Bean 的属性中:

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

最新更新