我在项目中有 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>