微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 从Spring框架迁移到Play框架(Scala)

我一直在我的项目中使用Spring框架(3.x),使用以下功能

>安全性:Spring安全性API
>持久性:Hibernate(自动生成/更新数据库方案)
>全文搜索:Hibernate Search(基于Apache Lucene)
> IOC:Spring依赖注入

我想将以前的一些项目迁移到Play框架.
最近我开始学习Scala语言以及Play framework 2.x.我想使用与以前相同的功能.
对于数据库,我将使用Slick库.

你能告诉我什么用于安全和全文搜索

最佳答案
迁移到新技术总是一条坎坷的道路,所以不要指望你尝试为你工作的第一件事 – 可能你需要自己实现一些东西.我稍后将通过一个具体的例子来讨论这个问题.

首先,Scala意味着可扩展,不可集成.也就是说,如果您选择在Scala中编写任何代码,请记住,用于Java自动化的框架通常不适用于Scala端. ORM是一个非常好的例子,因为Scala方法并不总是精确的Java方法,因此元数据最终会出现在不正确的位置,并且最终会导致数据损坏.所以一般的指针是,如果你使用Scala,除非助手完全与语言语义隔离,否则你真的无法查看Java生态系统中的助手.

安全

假设您充分利用了Spring Security,那么您使用的是role-based access control.如果您使用Java,您实际上应该能够使用Spring Security,这肯定可以帮助您进行迁移并节省编写更多代码的时间.你真正需要的只是Play应用程序中的spring容器,谢天谢地,其他人已经解决了这个问题:Integrating Play framework 2.0 and Spring framework

在Scala方面,RBAC似乎是关于RBAC和ACL之间语义的文明斗争,没有明显的赢家.这是有问题的,因为似乎没有人真正在工作,这意味着你可能不得不自己动手.

坚持

使用Java,您应该能够使用Hibernate /任何JPA解决方案,因为它不依赖于Web容器. Play也附带了EBeans,但据我所知,它不能用于最奇特的用例.可能你永远不会打那些,所以它值得尝试,因为它已经存在.

在Scala方面,正如你已经想到的那样,Slick应该没问题.

全文检索

搜索一个非常复杂的事情所以我实际上设置了独立的Solr / ElasticSearch并集成到它的API,而不是将它嵌入到应用程序本身,无论使用何种语言或框架.

国际奥林匹克委员会

最新游戏只是支持Guice,Scala本身试图强制执行蛋糕模式.通过先前链接的容器集成,Spring应该是可能的.

我希望其他人真的有很好的见解来评论这个,因为Play的构建方式,特别是在Java方面似乎非常IOC敌对.

原文地址:https://www.jb51.cc/spring/431660.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐