【发布时间】:2017-08-26 21:49:42
【问题描述】:
ninja 是一个很棒的框架,但是来自 spring 背景,我需要将 spring data jpa 与 ninja 一起使用。
我想自动装配一个 JpaRepository 并在 ninja 中使用它。虽然 ninja 使用 Guice Inject。我不断收到没有为我的班级找到的实现。
-
存储库:
public interface PortalUserRepository extends JpaRepository<PortalUser, Long> { PortalUser getPortalUserByUsername(String username); PortalUser getPortalUserByEmail(String email); } -
注射
public class SetupDaoV2 { @Inject PortalUserRepository portalUserRepository; public void setup() { try { List<PortalUser> portalUsers = portalUserRepository.findAll(); if (portalUsers.size() == 0) { // Create a new user and save it PortalUser portalUser = new PortalUser("lsadjfl", "lsdlfs", "kkk lll", "llskfls@gmail.com", "lsdlfss@", "lsdfls@gmail.com", new Timestamp(System.currentTimeMillis()), Boolean.TRUE, Boolean.TRUE, GenericStatusConstant.ACTIVE, Boolean.TRUE ); portalUserRepository.save(portalUser); } }catch (Exception ex){ ex.printStackTrace(); } } } 错误
com.google.inject.CreationException:无法创建注入器,请参阅 以下错误:
1) 没有绑定 com.bw.dd.dsl.repository.PortalUserRepository 的实现。
【问题讨论】:
-
Spring Data JPA 仅适用于 Spring 或 CDI。如果您想将它与 Google Guice 一起使用,您必须自己完成所有的连接和生成工作。
-
@dunni。必须有一种方法可以将 spring data jpa 移植到 ninja 中,而无需编写整个实现。
-
好吧,您可以查看 CDI 扩展并尝试将其移植到 Google Guice。但除此之外,没有更简单的可能性。
标签: java spring hibernate spring-data-jpa ninjaframework