[英]How to set up custom behavior of spring data on a CDI environment
因此,我有一个在WildFly10上运行的应用程序,该应用程序使用JSF,Spring(DI),JPA,Spring Data。 现在,我们正在尝试将其移至CDI并删除Spring(DI)。 现在,我们将保留Spring Data。
因此,我设置了CDI,并创建了EntityManager生产者。
@Produces
@Dependent
@PersistenceContext
public EntityManager entityManager;
因此,我能够使用CDI和所有注入库。 但是在我的原始环境中,我们有一个自定义的存储库工厂,它在SpringConfiguration中定义如下:
@EnableJpaRepositories(basePackages = {“ com.foo.repository”}, repositoryFactoryBeanClass = CustomJpaRepositoryFactoryBean.class )
因此,问题是,如何在CDI环境上定义这个repositoryFactoryBeanClass = CustomJpaRepositoryFactoryBean.class?
当前的实现不允许JpaRepositoryFactoryBean
的配置,因为可以从实例化该代码的代码中看到。
所以我想您有以下选择:
重新实现实例化过程。
打开功能请求 。
执行2.和1.以可重用的方式并将结果作为问题的PR提交。
尝试解决此问题时,我发现未选择自定义impl。 但是,此问题中建议的解决方案对我有所帮助: https : //stackoverflow.com/a/38541669/188624
基本上是使用Java8默认接口方法来提供附加功能。 我必须使用“ CDI.current()。select”方法来获得实体管理器,尽管属性注入当然无法正常工作。
我用Spring Data JPA 2.0.0进行了测试
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.