使用 Spring,我可以自动装配具有以下属性的 bean:
@PersistenceContext(unitName="foo") private EntityManager em;
使用以下内容,我可以手动自动装配 bean“someBean”:
ClassPathXmlApplicationContext ctx =
new ClassPathXmlApplicationContext("META-INF/applicationContext.xml");
AutowireCapableBeanFactory fac = ctx.getAutowireCapableBeanFactory();
fac.autowireBean(someBean);
但是,我无法弄清楚如何直接获取特定的 EntityManager。用例是我想编写一个测试,它将获取所有 EntityManager 对象并在其中执行简单的查询以确保它们设置正确。为此,我需要能够从应用程序上下文中获取所有 EntityManager 对象。我怎样才能做到这一点?
以下不起作用。它返回一个空地图。
Map<String,EntityManager> ems = ctx.getBeansOfType(EntityManager.class);