因此,重大的公告发布了– Heroku开始为Play Framework应用程序提供本机支持! 如果您还没有听说过,请在Heroku的博客上查看Jesper Joergensen的帖子 。

因此,对于演示,我将建立一个非常基本的Twitter副本; 它本来就很简单,但是却显示了Play足够的生产力! 提供。 我将逐步完成设置演示应用程序的步骤,该应用程序应涵盖Heroku博客文章中宣布的内容,但要更深入一些。

第一步,创建应用程序

play new twitter

将依赖性添加到CRUD模块(conf / dependencies.yml)

- play -> crud

获取依赖项

play dependencies

IDE整合

(对于Eclipse)

play eclipsify

(对于IntelliJ)

play idealize

(对于Netbeans)

play netbeansify

创建模型(app / models / Tweet.java)

package models;import java.util.Date;
import java.util.List;import javax.persistence.Entity;import play.data.validation.MaxSize;
import play.data.validation.Required;
import play.db.jpa.Model;@Entity
public class Tweet extends Model {@Required@MaxSize(140)public String tweet;@Requiredpublic Date createDate = new Date();public static List findLatest() {return Tweet.find(“order by createDate desc”).fetch();}@Overridepublic String toString() {return this.tweet;}}

为JPA模型定义数据库(conf / application.conf)

db=${DATABASE_URL}

添加控制器操作(app / controllers / Application.java)

package controllers;import java.util.List;import models.Tweet;
import play.mvc.Controller;public class Application extends Controller {public static void index() {List tweets = Tweet.findLatest();render(tweets);}public static void create(String msg) {Tweet tweet = new Tweet();tweet.tweet = msg;tweet.save();render(tweet);}public static void tweets() {List tweets = Tweet.findLatest();renderJSON(tweets);}
}

定义主视图(app / views / Application / index.html)

#{extends ‘main.html’ /}
#{set title:’Home’ /}<!– Create Tweet Form –><form> <input name=”tweet” type=”text” />
<input type=”submit” value=”Tweet” /> </form><!– Latest Tweets List –>
<ul> #{list tweets}
<li>${_.tweet} (${_.createDate.since()})</li><p><p>
#{/list}</ul>
<!– JS –>
<script type=”text/javascript”>// Capture Form Submit Event$(‘form’).submit(function() {// Define Create Actionvar createAction = #{jsAction @create(‘:tweet’) /}// Call Create Action$.post(createAction({tweet: $(‘input:first’).val()}), function(data) {// Prepend Results to the List$(‘ul’).prepend(data);$(‘input:first’).val(”);});// Don’t let the browser redirectreturn false;});</script>

定义创建操作视图(app / views / Application / create.html)

<li><code>${tweet.tweet} (${tweet.createDate.since()})</li>

创建推文模型的单元测试

import models.Tweet;import org.junit.Assert;
import org.junit.Test;import play.test.UnitTest;public class TweetTest extends UnitTest {@Testpublic void testModelSave() {long count = Tweet.count();Tweet t = new Tweet();t.tweet = “my sample tweet”;t.save();long count2 = Tweet.count();Assert.assertEquals(count + 1, count2);}}

为推特模型创建CRUD管理员

package controllers;public class Tweets extends CRUD {
}

添加路由(conf / routes)

* /admin module:crudGET /rest/tweets Application.tweets

为CRUD管理员定义消息(conf / messages)

tweet=Tweet
createDate=Date Created

定义配置文件

web: play run –%$FRAMEWORK_ID –http.port=$PORT -DusePrecompiled=$USE_PRECOMPILED -DDATABASE_URL=mem

在开发中运行

play run –%dev -DusePrecompiled=false -DDATABASE_URL=mem

在Heroku上创建应用程序

heroku create play-twitter –stack cedar

heroku创建推特-堆叠杉

设置Git存储库

git init; git add .; git commit -a -m “Initial Commit”; git remote add heroku git@heroku.com:play-twitter.git

设置Heroku环境变量

heroku config:add FRAMEWORK_ID=prod; heroku config:add USE_PRECOMPILED=true

部署到Heroku

git push heroku master

如果有任何问题,您可以随时检查日志

heroku logs

在Heroku上设置真实数据库

heroku addons:add shared-database

您可以检出现场演示在这里 ,管理界面这里或克隆的源代码Github上 。

参考:我们的JCG合作伙伴 Felipe Oliveira(位于Geek)完全使用 ,其中包含Play框架,AJAX,CRUD和Heroku的简单Twitter逐步指南 。

相关文章 :

  • RabbitMQ播放模块! 构架
  • Heroku运行Java
  • 在90分钟内使用Grails构建Twitter:要点
  • Spring MVC开发–快速教程
  • Spring MVC3 Hibernate CRUD示例应用程序
  • Java教程和Android教程列表

翻译自: https://www.javacodegeeks.com/2011/09/simple-twitter-play-framework-ajax-crud.html

简单的Twitter:Heroku上的Play框架,AJAX,CRUD相关推荐

  1. heroku_简单的Twitter:Heroku上的Play框架,AJAX,CRUD

    heroku 因此,重大的公告已经发布– Heroku开始为Play Framework应用程序提供本机支持! 如果您还没有听说过,请在Heroku的博客上查看Jesper Joergensen的帖子 ...

  2. heroku搭建邮件服务器,在Heroku上搭建简单的Python Web 应用

    开发一个小应用放在互联网上给大家使用是一件成就感很高的事情,不过支持Python的免费空间不是很多,虽然GAE支持Python,不过由于众所周知的原因,在国内是很难打开GAE,这篇文章为大家介绍一下H ...

  3. openshift_云上的播放框架变得简单:Openshift模块

    openshift 仅仅几年前,找到一个负担得起的Java Web应用程序托管解决方案是一项艰巨的任务,而寻找免费的托管解决方案是一项不可能的任务. 更不用说考虑自动缩放,单命令部署,持续集成等问题了 ...

  4. 云上的播放框架变得简单:Openshift模块

    仅仅几年前,找到一个负担得起的Java Web应用程序托管解决方案是一项艰巨的任务,而寻找免费的托管解决方案是一项不可能的任务. 更不用说甚至考虑自动缩放,单命令部署,持续集成等事情,这都是科幻小说. ...

  5. PHP + Redis 实现一个简单的twitter

    原文位于Redis官网http://redis.io/topics/twitter-clone Redis是NoSQL数据库中一个知名数据库,在新浪微博中亦有部署,适合固定数据量的热数据的访问. 作为 ...

  6. heroku服务器_如何在Heroku上使用Express服务器部署React应用

    heroku服务器 by Ashish Nandan Singh 通过Ashish Nandan Singh 如何在Heroku上使用Express服务器部署React应用 (How to deplo ...

  7. php redis 唯一id,PHP + Redis 实现一个简单的twitter

    Redis是NoSQL数据库中一个知名数据库,在新浪微博中亦有部署,适合固定数据量的热数据的访问. 作为入门,这是一篇很好的教材,简单描述了如何使用KV数据库进行数据库的设计.新的项目www.xiay ...

  8. 在Heroku上扩展ipify服务

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ ipify服务在Heroku上已扩展到超过300亿次请求.近期,该服务的开发者分享了他的经验 ...

  9. Flask 教程 第十八章:Heroku上的部署

    本文转载自:https://www.jianshu.com/p/d13dc21c6e43 这是Flask Mega-Tutorial系列的第十八部分,我将在其中部署Microblog到Heroku云平 ...

最新文章

  1. 内核中的kmalloc函数详解
  2. NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层原理
  3. Android模拟位置出错IllegalArgumentException: Incomplete location object, missing timestamp or accuracy?
  4. 开心哲理---您的妻子! --转by yp
  5. 服务器点播直播系统,服务器点播直播系统
  6. java项目中Classpath路径到底指的是哪里?
  7. php后台如何避免用户直接进入方法
  8. 图像空域增强:灰度映射法
  9. 台式计算机找不到无线连接,台式机如何连接wifi_台式机找不到无线网络
  10. 方法论+本土特色,这个BPM平台不简单
  11. 华为usg6000配置手册_三国志11手机版,问题解决手册 1.4.4版本
  12. TiDB的设计哲学——Make It Work! Make It Right! Make It Fast!
  13. ffmpeg实例,drawtext在视频上添加文字
  14. Dummy Sample
  15. 入职前的背景调查到底在查什么?
  16. 区块链技术在食品供应链领域的应用
  17. mysql 增加时间字段
  18. 任正非最新讲话:最好的防御就是进攻
  19. 【独立站运营】在线聊天机器人为何能成为电商行业的大趋势?
  20. 对数组名取地址与数组名

热门文章

  1. maven安装教程安装教程_Maven教程之春
  2. ljc.framework_Java 9模块系统(拼图)@ LJC的HackTheTower
  3. threejs 影子属性_影子场vs.属性访问器接口第2轮
  4. jmeter 采样器作用_实施自定义JMeter采样器
  5. idea测试单元错误_不要单元测试错误
  6. 使用适用于Java 2的AWS开发工具包的AWS DynamoDB版本字段
  7. 夏末浅笑_2014年夏末大Java新闻
  8. 看到一个沙粒世界:再一次你好世界
  9. 使用Envoy代理的微服务模式,第二部分:超时和重试
  10. github gists_Eclipse中的Github Gists