Play Mongo 是一个专门为 Play Framework 开发的 MongoDB 模块, 该项目基于 MongoDB 官方的 Scala 驱动,并且提供了更多的实用功能,例如, 更简洁多样的数据库交方式...自动识别模型类(Model),自动编解码 自动完成 JsValue 和 BsonValue 互转 更方便的 GridFS 交互 Change Stream 转 Akka Stream....目前除了 Play Mongo,你还可以选择, Mongo Scala Driver ReactiveMongo Mongo Scala Driver 是 MongoDB 官方维护的 Scala 驱动,...Mongo Scala Driver 提供了一套基于 Java 的 Bson Api,无法与 Play Json 集成。...ReactiveMongo 主要有三个问题,一是版本更新不够及时,无法跟上 MongoDB 的更新节奏;二是可能存在安全隐患,容易造成生产事故,详情参考:issue#721。
数据丢失问题已经成为历史,曾经在网上广为流传的两篇关于MongoDB数据丢失问题(1, 2), 经过分布式系统安全性测试组织JEPSEN最新的测试分析表明,MongoDB 3.4.0已经解决了这些问题。...目前有如下三个基于 Scala 开发的 MongoDB 驱动可供选择: Mongo Scala Driver ReactiveMongo Play Mongo Mongo Scala...Mongo Scala Driver 提供了一套基于 Java 的 Bson Api,无法与 Play Json 集成。...Play Mongo 是由 PlayScala 社区为 Play Framework 开发的 MongoDB 模块, 该项目基于 MongoDB 官方的 Scala 驱动,并且提供了更多的实用功能,例如...需要注意的是,在该方式下无法改变返回的结果类型。
概览 在本文中将介绍 Scala 的 Play Web 开发框架。...我们将会学习如何创建一个 Play 项目,使用开发工具生成我们的第一个项目以及实现自定义的功能,另外还将体验一下 Play 框架的测试能力。...a Play Scala project name [play-scala-seed]: 我们给这个项目命名为 baeldung-play-framework.。...编写测试用例 最后,我们来看看有 sbt 命令行工具在创建 Play 框架项目的时候生成的测试用例文件夹。...本文翻译自 https://www.baeldung.com/scala/play-framework-intro
的JSON库里,整形和浮点型都使用JsNumber表示,这是一个略为糟糕的设计,因为会导致JSON数据无法在多语言环境下共享。...关于 Scala 宏的更多内容请参考官方文档。...请求成功处理 }, error: function(e){ //请求失败处理 } }); 需要注意,客户端在执行 Post 请求时必须明确指定Content-Type请求头,否则服务器端无法正确识别...在 Json 处理领域,Play 和 Scala 有着天然的优势,一方面通过 Scala 的优雅语法以及 Play 的 Json DSL,我们可以轻松地构建和处理 Json;另一方面,相比于 Java...的反射机制,利用 Scala 语言提供的编译器期 Macro,可以大大提升运行时处理速度,为开发高性能的响应式系统提供了底层的技术保障。
Play框架可以为桌面和移动接口构建轻量级的、web友好的Java和Scala应用程序。...在底层,Play构建在Akka工具包之上,该工具包简化了在Java虚拟机上创建并发和分布式应用程序。因此,Play使用了一个完全异步的模型,可以带来更好的可扩展性,特别是因为它还遵循无状态原则。...除了Java, Tapestry还支持Groovy和Scala,并与其他Java框架(如Hibernate和Spring)集成。Tapestry已经在设计中考虑到了性能。...它内置了促进测试驱动开发(TDD)的实用工具,并支持Selenium测试框架。Tapestry在单个服务器和服务器集群上可以很好地伸缩。...Flow还允许您在Kotlin或Scala中编写应用程序。
Play Framework从问世至今已经十个年头了,但是可惜的是这么优秀的框架在国内却鲜为人知。尤其是当Play Framework 2.x发布以后,基于Scala语言重写了整个框架。...当Scala和Play Framework相遇,这本该是一段美好的佳话,可结局却是,面对Scala语言更多的人望而却步。 这其实都是因为人们潜意识里对未知事物充满恐惧。...但其实Scala没那么可怕,相反了解它一点你会觉得它很可爱。...当然Scala的魅力远不止如此,当你慢慢了解它时,你会慢慢深陷而无法自拔。...讲了那么多,我只想告诉你Scala并不可怕,其实在Play Framework中,你根本就不需要抱着Scala书籍啃完再写代码,PlayScala社区会为你准备一篇30分钟的为Play初学者准备的Scala
Read timed out Unable to read repository at http://download.scala-ide.org/plugins/scala-ide-play2/releases.../e44/2.11.x/site-20160504-1321/features/org.scala-ide.play2.feature_0.6.0.v-2_11-201605041113-674180c.jar...Read timed out Unable to read repository at http://download.scala-ide.org/plugins/scala-ide-play2/releases.../e44/2.11.x/site-20160504-1321/plugins/org.scala-ide.play2.templates23_0.6.0.v-2_11-201605041113-674180c.jar...完成后启动Eclipse , 菜单栏 file –》new –》 other 可以看到Scala的相关组件: Scala IDE for Eclipse 在 http://scala-ide.org/
Github上各种Spring组件代码:https://github.com/spring-projects Play!...URL:https://www.playframework.com/ 说明: Play!...是在设计时考虑了可伸缩性的 新一代反应式 Web 框架,Play 还带来了开发友好的特性,比如原生的 XML 和 JSON 处理,开发模式下的浏览器内错误报告,内置的测试帮助器,以及Selenium集成...日志 Logback SLF4J 单元测试 JUnit URL:http://junit.org/junit4/ 说明: 没啥好介绍的,老牌的Java代码自动话测试工具。...JVM语言 Scala URL:http://www.scala-lang.org/ 说明: Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。
Scala是一种强大的语言,很快就成为许多开发人员的最爱。然而,语言只是一个起点 - 并非每个函数都将由语言核心覆盖。Scala还创建了一些厉害的框架。...Play Framework ——Java和Scala的高速Web框架 Play Framework是一个开源的Scala框架,于2007年首次发布。...在撰写本文时,Play 2.6是Play的当前版本,已在开发中取代了Play 1。 优点 1. 与JVM密切相关,因此,Java开发人员会发现它很熟悉且易于使用。 2....话虽如此,它提供了一些相当强大的HTTP原语,这使其非常适合快速开发和测试。因此,Finch非常适合小型项目和初创公司。 3. 由于其模块化的性质,它对于各种系统来说非常快速且功能强大。 缺点 1....Chaos易于使用,特别是对于那些熟悉使用Scala的用户来说。 2. 它所使用的所有库都经过了充分测试和良好支持,提供了大量的文档和知识库,可用于测试,迭代和开发。 缺点 1.
String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } } 测试时直接以...Wildfly-swarm是一个基于Wildfly-core的微服务项目,和Wildfly应用服务器共同使用相同的内核组件MSC,拥有相似的架构和开发/构建方法。...基础组件对比如下: 注入服务: Weld CDI容器 Web容器: 嵌入式的Undertow(Undertow 是红帽公司(RedHat)的开源产品,是 WildFly8(JBoos) 默认的 Web...makes it easy to build web applications with Java & Scala.Play is based on a lightweight, stateless,...Play是一个开源的现代web框架,用于编写Java和Scala的可扩展Web应用程序。
不熟悉Scala的同学看上面的代码会感觉比较奇怪,Action{...}和Ok(...)是什么鬼?...另外Scala不建议使用return语句,默认最后一条语句的值作为函数的返回值。...Play的模板层采用Scala语言编写,借助Scala语言,在Play的模板层你会感觉自己像是一只脱了缰的野马。其实在模板层只需要了解Scala的if和for语法即可。...Scala虽然入门门槛较高,但是带来的收益是巨大的,随着你对Play了解的深入一定可以慢慢的体会到这点。...,View没有任何的内置对象,所有的依赖都定义在参数列表中,Controller和View之间只是简单的函数调用关系,状态通过函数参数进行传递,这样的好处是程序执行流程容易追踪,代码容易阅读,并且单元测试会变得非常简单
Github上各种Spring组件代码:https://github.com/spring-projects Play!...URL: https://www.playframework.com/ 说明: Play!...是在设计时考虑了可伸缩性的 新一代反应式 Web 框架,Play 还带来了开发友好的特性,比如原生的 XML 和 JSON 处理,开发模式下的浏览器内错误报告,内置的测试帮助器,以及Selenium集成...单元测试 JUnit URL: http://junit.org/junit4/ 说明: 没啥好介绍的,老牌的Java代码自动话测试工具。...JVM语言 Scala URL: http://www.scala-lang.org/ 说明: Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。
更好的 Scala 3 支持 Scaladoc 增强 改进的基于编译器的高亮显示 Scala 构建工具改进 Play Framework 更新 其他改进 版本控制系统 编辑器内代码审查 在 *Log*...此外,IDE 现在可以检测并报告永远不会执行的无法访问的代码。 通过多版本 JAR 增强的用户体验 IntelliJ IDEA 2024.1 通过多版本 JAR 库提供增强的用户体验。...Play Framework 更新 为了解决旧版 Play Framework(2.8 及更低版本)和 JDK 17 之间的兼容性问题,我们引入了一条警告,在 Play 向导中通知您使用了不兼容版本的...Play 和 JDK。...我们为 Spring 图表引入了新的图标,增强了 Spring 原型(如组件、控制器、仓库和配置 Bean)的可视化。 此外,您现在可以方便地切换库中 Bean 的可见性(默认隐藏)。
客户端和客户端的负载均衡 同时,Micronaut 框架旨在通过提供以下功能来避免Spring、Spring Boot和Grails等框架的缺点: 更快的启动时间 降低内存占用 最少使用反射 最少使用代理 易于单元测试...Java、JavaScript、Groovy、Ruby、Scala、Kotlin和Ceylon编写。...上图是Quarkus性能测试对比图,可以看到无论是内存占用和响应时间,Quarkus都有很大优势。...作为一个全栈框架,Play 包含构建 Web 应用程序和 REST 服务所需的所有组件,例如集成的 HTTP 服务器、表单处理、跨站点请求伪造 (CSRF) 保护、强大的路由机制、I18n 支持等的。...Play 可以直接支持日常任务和热重载来节省宝贵的开发时间。 Play 结合了生产力和性能,可以轻松使用 Java 和 Scala 构建可扩展的 Web 应用程序。
Twirl模板引擎介绍 Twirl 是 Play 内置的模板引擎,负责数据层展示与用户行为收集。Twirl 被设计成一个独立的模块,可以脱离 Play 环境单独使用。... = views.html.hello("play") 跟常见的模板层引擎一样,模板函数的函数体包含两部分内容,一部分是静态的HTML内容,另一部分是动态的Scala表达式。...而在Twirl中则没有上下文的概念,模板函数仅仅是一个普通的函数,没有复杂的上下文状态存在,这种无状态的设计更加简洁并易于理解,不仅方便测试,而且大大提升了模板层的可用性,我们不仅可以在 Controller...数据抽取 错误处理 页面渲染 在使用 Play 的 Form 相关功能之前,需要先导入如下路径: import play.api.data._ import play.api.data.Forms...email: 映射为邮箱格式的 scala.String 类型。 boolean: 映射为 scala.Boolean。 checked: 映射为 scala.Boolean。
此外,Scala的语法受到Java的影响,它的语法比Python更复杂,更冗长。例如,在 Scala 中,您需要显式定义变量的数据类型。...性能 Scala是一种编译语言,这意味着它在执行之前被翻译成机器代码。这可以使其比Python等解释型语言更快,但这也意味着启动Scala程序需要更长的时间。...这意味着Python代码可以用更实用的风格编写,这使得推理和测试更容易。此外,Python的OOP不像Scala那样严格,允许开发人员在同一代码库中使用不同的编程风格。...图书馆 Scala有一套丰富的库和框架,它们建立在JVM之上,比如Akka用于构建并发和分布式系统,Play框架用于Web开发。...结论 Scala 的静态类型和可扩展性就像大型复杂项目的超级英雄,可以轻松识别和消除错误,同时像专业人士一样处理大量数据。
此外,IDE 现在可以检测并报告永远不会执行的无法访问的代码。 通过多版本 JAR 增强用户体验 IntelliJ IDEA 2024.1 通过多版本 JAR 库提供增强的用户体验。...Play框架更新 为了解决旧版 Play Framework 版本(2.8 及更低版本)和 JDK 17 之间的兼容性问题,我们引入了一条警告,通知您在 Play 向导中使用不兼容版本的 Play 和...现在,IntelliJ IDEA 可以识别重命名工作流程,在使用着色 JAR 及其依赖项时提供准确的代码突出显示和导航。...这种转变消除了为每次测试运行单独更新配置来选择覆盖率运行程序或启用高级功能的需要,例如跟踪哪些测试覆盖特定代码行。...我们为 Spring 图引入了新的图标,增强了 Spring 构造型(如组件、控制器、存储库和配置 bean)的可视化。此外,您现在可以方便地切换库中 Bean 的可见性(默认情况下是隐藏的)。
[Int] = play.api.libs.iteratee.Enumerator$$anon$19@47f6473 enumNumbers |>> showElements...[play.api.libs.iteratee.Iteratee[Int,Unit]] = Success(Cont()) 我们看到:enumNumbers |>> showElements...case Step.Error(msg, e) => sys.error(msg) })(dec) 再一个问题是:enumNumbers |>> showElements是个封闭的运算,我们无法逐部分截取数据流...下面是这次讨论的源代码: import play.api.libs.iteratee._ import scala.concurrent._ import scala.concurrent.duration...._ import scala.concurrent.ExecutionContext.Implicits.global import scala.collection.mutable._ import
该工具配备有强大的检测引擎、许多专业功能供终极渗透测试人员使用,并提供广泛的选项包括数据库指纹识别、从数据库中获取数据、访问底层文件系统以及通过带外连接在操作系统上执行命令等。...该项目具有以下特点: 搜索引擎 基于 fishnet 分布式计算机分析 锦标赛、同时对弈、论坛、团队功能等社交互动功能 训练模式以及共享分析板等辅助工具 支持超过 140 种语言界面本地化 Lichess 使用 Scala...3 编写,并依赖 Play 2.8 框架进行开发。...它采用了异步设计,大量使用 Scala Futures 和 Akka streams 来处理请求。WebSocket 连接由独立的服务器处理,并通过 redis 通信。...Seeker 利用 HTML API 实现精确定位 可以在没有 GPS 硬件的情况下回退至 IP 地理定位或缓存坐标 支持多种测试环境
4、@SpringApplicationConfiguration在测试上下文得到支持 5、Spring Boot的引导器(Starter)导入 6、组件的提示信息...Kotlin的设计目标是: 1)比Java更安全,能够静态检测常见的陷阱 2)比Java更简洁 3)比Scala更简单 使用IntelliJ IDEA...IntelliJ IDEA 12开发haXe NME应用配置指南 http://www.linuxidc.com/Linux/2013-01/77227.htm IntelliJ IDEA运行Play
领取专属 10元无门槛券
手把手带您无忧上云