目前我们有一个适用于spring和JPA的企业应用程序。 今天我们正在计划下一代服务器。
我们正在讨论是否在项目中使用spring-data?它似乎提高了生产力和开发时间。
有没有其他选择考虑弹簧数据?为什么不单独使用spring和JPA? 你有什么建议?
请记住,我们已经开始从头开始开发,因此除了以外没有任何限制:
目前我们有分层架构。 我们有一个服务层和一个管理层,它负责持久化和业务逻辑。无论谁建造,都没有理由插入第三个DAO层。
答案 0 :(得分:3)
Spring Data相比Spring + JPA有一些技术优势,在纯SQL环境中,我认为给Spring Data带来了优势:
鉴于您使用MySQL和MongoDB,我认为Spring Data是一个很好的候选者,因为它允许开发人员编写单个数据访问API(Spring Data)而不是两个(JPA和MongoDB Java Client)。
关于现有架构,听起来好像您的经理层正在实施Rich Domain模式或Active Record。
Spring数据在我看来非常适合使用Rich Domain与使用Spring的@Configurable注入服务相结合。
最后,我要说Spring Data在需要为Spring Security和Spring Social实现服务时也提供了显着的优势,这些服务使用MongoDB或其他语言代替SQL。
我们在fuzzydb示例webapp中找到了here。 (免责声明:我目前是fuzzydb最近唯一的提交者,并且多年没有触及它,但我们确实有一个现场服务,www.fridgemountain.com,基于该代码,但忽略了推广它)