Spring Data JPA就像不依赖于Spring的项目

有没有人知道遵循存储库方法的任何Java框架,自动实现查询方法(例如findByNameAndLastName(…))但不依赖于Spring,只有纯JPA. GORM中也存在这样的特征.我想看看是否有任何项目可以在Guice或纯JavaEE环境中使用,而不会将Spring作为依赖项.

最佳答案
(免责声明:我是Spring Data JPA的作者)

有一个CDI Query Module,它与Spring Data JPA非常相似.还有一个DeltaSpike module.

请注意,Spring Data JPA附带了一个CDI扩展,它将存储库代理创建为普通的CDI bean,并且不会引导Spring容器.有些API允许以编程方式创建存储库代理,例如:

EntityManager em = // … obtain EntityManager
JpaRepositoryFactory factory = new JpaRepositoryFactory(em);
UserRepository repository = factory.getRepository(UserRepository.class);

是的,它仍然需要Spring类存在于类路径中,但它使用它们类似于使用Commons Collection等的方式.我们尽量不重新发明轮子,我们依赖的Spring库提供了许多我们不需要重新编码的有用代码.

因此,如果它是作为DI容器的Spring,那么您可以随意选择Spring Data JPA的CDI扩展.如果您不想使用任何Spring(无论出于何种原因),请查看备选方案.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...