play框架的基本应用
来源:互联网 发布:ppt封面 知乎 编辑:程序博客网 时间:2024/05/01 08:20
play框架的基本应用#1. 概述
目前kmdm项目中有java写的rest服务,今后不再扩展,将迁移到elemental中scala的play服务。
目前我觉得play框架有以下优点
1. 省代码:scala天然的便利性
2. 容易测试:测试用例很容易写
3. 容易部署: 热部署
2. 使用
2.1 配置文件
/conf/routes应用入口路由文件,所有的HTTP请求将通过该文件转发到指定的Scala对象处理。
/conf/application.conf 应用配置文件。
2.2 Filter
/app/Filter 用户认证、记录日志等过滤操作
2.3 控制层
/app/…/..controller 接收/conf/routes中的action请求,g并根据业务返回结果
2.4 启动项
/app/…/..server 可以debug启动,run启动需要删掉RUNNING_PID
2.5 测试用例
play框架测试用例非常简便,有三四行代码就可以完成一个简单的测试用例
class TestControllerSpec extends AbstractSpec { "testController" should { "POST /testPlus/2" in { val request = FakeRequest(method = "POST", path = "/testPlus/2").withHeaders(("Accept", "*/*")).withFormUrlEncodedBody(("b", "3")) implicit val timeout = Timeout(30, TimeUnit.SECONDS) val resp = contentAsString(route(app, request).get)(timeout) println(resp) Json.parse(resp).as[JsObject].value.get("rst").get.as[Int] mustBe 5 } }
2.6 部署
sbt projectName/dist 项目在/target/universal中,为zip格式
上传到服务器,参考z022.kmtongji.com/home/kmop/kmdm/elemental下的deloy.sh 和restart.sh重写脚本即可
deloy.sh
#!/bin/shtime=`date +%Y%m%d-%H%M%S`rm -rf elemental-datacenter-0.1.0-SNAPSHOTmv lib.* Jar-Backup/mv lib lib.$timemv logs/log.log logs/log.log.$timeunzip elemental-authority-0.1.0-SNAPSHOT.zipmkdir libcp elemental-authority-0.1.0-SNAPSHOT/lib/* lib/cp elemental-authority-0.1.0-SNAPSHOT/conf/routes conf/cp elemental-authority-0.1.0-SNAPSHOT/bin/* ./bin/sh restart.sh
restart.sh
#!/bin/sh#time=`date +%Y%m%d-%H%M%S`#mv logs/log.log logs/log.log.$timekill `cat RUNNING_PID`nohup bin/elemental-authority &
阅读全文
0 0
- play框架的基本应用
- Play框架的基本使用
- play! 框架的搭建与基本使用方法
- play基本框架
- Play框架中缓存的应用
- 解决google服务框架、google play、google地图、google搜索等基本的应用无使用最简单的方法
- Play框架前端应用细节
- Play框架2.5.6教程——Play应用的剖析
- play框架的安装
- play框架的使用
- 应用框架的基本思想
- 应用基本框架的搭建
- 用Play框架搭建一个sbt应用
- Java Web 应用开发:Play 框架
- play框架爽的很
- play 框架的MVC结构
- play框架的类增强
- play框架的问题探讨
- 使用AndroidStudio建立简单的单元测试
- 阿里云RDS数据库调研
- RMI简单教程
- Python学习第一弹----环境配置及Pycharm安装和HelloWorld
- Bootstrap将会根据你的屏幕的大小来调整HTML元素的大小 —— 强调 响应式设计的概念
- play框架的基本应用
- 每天一点Js(七)
- MySQL 整型长度的含义
- Linux中dd命令详解
- 通过Spark Streaming的foreachRDD把处理后的数据写入外部存储系统中
- FPGA--有限状态机(FSM)的设计
- Http协议
- LVM制作
- iOS 通用链接 各种链接详解