我想覆盖PersistenceAnnotationBeanPostProcessor,它会在我插入context:component-scan标签后立即注册.
我尝试注册一个具有相同名称的bean,但spring仍然注册了原始的后处理器bean.
我的目标是提供一个覆盖版本的findDefaultEntityManager方法,这将使我在同一个容器中声明两个EntityManagers.
注意:我在Spring 2.5.6上运行了2个EM上下文,但在迁移到3.0.5.RELEASE版本时它被破坏了.
最佳答案
我发现这个
解决方法对
我有用(Spring 3.2.7):
这将覆盖Spring加载的默认PersistenceAnnotationBeanPostProcessor,并使用defaultPersistenceUnitName创建一个新的.您必须使用自动加载此bean时使用的bean名称Spring(这是默认行为).我不得不查看org.springframework.context.annotation.AnnotationConfigUtils.registerannotationConfigProcessors()来找出这个名字.