技术中心

这里象征着我们的态度和能力

>JAVA开源开发框架:PLAY框架快速入门
作者:中国IT实验室    来源:中国IT实验室    发布时间:2012-01-01      浏览次数:7977
分享到:
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

前言

  目前,Ruby on Rails及Grails等动态脚本语言正发展得如火如荼,而在以Java为首的开源最大阵营中,也出现了各种框架。其中最著名的就是Play框架(http://download.playframework.org)。

  Play 框架是一个完整的 Web 应用开发框架,覆盖了 Web 应用开发的各个方面。它借鉴了流行的 Ruby on Rails 和 Grails 等框架,又有自己独有的优势。具体表现在以下几个方面:其一,通过 Play 框架提供的命令行工具,可以快速创建Java Web 应用。其二,它拥有Java 代码动态编译机制,在修改代码之后,不需要重启服务器就可以直接看到修改之后的结果。其三,它还使用 JPA 规范来完成领域对象的持久化,可以很方便的使用不同的关系数据库作为后台存储。其四,它使用 Groovy 作为视图层模板使用的表达式语言。模板之间的继承机制避免了重复的代码。总的来说,Play 框架非常适合快速创建Web 应用开发。本文将为有一定Java Web框架基础的读者,来重点介绍如何使用play框架来编制一个最简单的信息增删改查应用。

  一:安装Play框架

  安装play框架前,只需要使用JDK 1.5以上的版本即可,将官网上的play框架下载后解压到某个指定目录下,使用的是eclipse开发工具即可。在本文中,将介绍的例子,是一个关于公 司、部门、员工之间的CRUD操作,其关系为:一个公司有很多部门,一个部门有很多个员工。

  二:开始使用PLAY框架的脚手架功能

  PLAY框架为能让用户快速开始搭建play系统的原型。下面是使用play中脚手架功能的步骤:

  1.   在命令行方式下,转到play框架的安装目录,本文假设为c:play下。
  2.   假设我们的应用的名称为corporations,则在play中,新建立一个应用只需要用如下命令即可:  play new corporations,其中new表示新建应用,new后的名称则为应用的名称。
  3.   在输入上面的语句后,会提示输入确认系统的名字,这里输入corporations,按回车确认即可。
  4.   我们使用cd corporations目录中,会发现已经有play自带的框架的内容了。我们可以在命令行方式下,执行play run,这时play就会启动自带的jetty服务器,将应用启动起来。
  5.    在启动后,可以通过浏览器浏览刚才新建的应用了,方法是http://localhost:9000,就可以看到一个默认的play应用,其中显示的首页中,简单指导了一些简单的配置方法。如下图:

JAVA开源开发框架:PLAY框架快速入门
应用首页

  三:配置应用 将框架工程导入eclipse

  我们为了要在eclipse中方便我们的编码,所以需要把play刚为我们建立好的框架工程导入到我们的eclipse中去,所以我们按如下步骤去做:

  1 使用CTRL-C,先把我们正在运行的应用停止下来。

  2 依然在corporations目录下,输入play eclipse,表示要生成能导入eclipse的框架工程。

  3 再启动eclipse ,然后使用导入工程的方法,把corporations工程导入。

  4在这个例子中,用的只是HSQL,所以打开conf/application.conf文件,将下面的

  db=mem 语句前的注释符号去掉,表示我们将使用hsql。

  5 同样,在conf/application.conf文件中,增加如下这行,表示我们将使用play脚手架框架自带的CRUD功能:

module.crud=${play.path} /modules/crud

  6 在conf/routes文件中,增加如下这行:

* /admin module:crud

  注意,在play框架中,routes是路由控制器,这行表示,将所有的CRUD操作都是只有通过 */admin访问的请求,才能实现play自带的CRUD功能。

  7 在进行上述修改后,我们再到命令行方式下,运行play eclipse,然后再到ECLIPSE下按F5刷新一下

  8 如果此时再使用play run,运行会发现暂时还没有更新,因为我们要进行数据层的配置。

  四:创建员工实体对象和控制层

  Play框架完全遵守MVC分层架构标准,因此我们按照MVC的分层来设计我们的引用。我们先创建员工实体对象和其控制层。

  首先,在eclipse的corporations工程中,在app/models目录下,新建Employee类,代码如下:

Package models;

import java.util.Date;

import javax.persistence。
*
;

import play.db.jpa.Model;

@Entity

public
class Employee extends Model {

public String
fullName;

public Integer
salary;

public Date
dateOfHire;

}

  在Play框架中,默认使用的是jpa注解标准,使用@Entity注解,说明该类是属于实体类,这里都是继承了play自己的模型层基类Model,这里由于是示例,只是列出了三个对象的属性。

  接下来,在app/controllers中,创建员工类的控制层文件,代码如下

package controllers;

public
class Employees extends CRUD

{
// an empty
class

}

  这里看到,控制层文件的命名是Employees,使用的是PLAY框架优先约定的命名规则:实体类的复数形式。并且这里继承了Play中自带的CRUD基类的功能,这样,就可以在我们的应用中轻易使用到PLAY自带的CRUD功能了。

  现在我们马上来运行下应用,依然输入play run,再在浏览器中输入:

  http://localhost:9000/admin即可看到如下的效果:

JAVA开源开发框架:PLAY框架快速入门
运行效果

  这个时候,点Add按钮,就可以增加员工了。

  五:创建部门实体类和部门控制层

  接下来,我们继续创建部门实体类和部门控制层的文件。同样,在app/models目录下,新建立Department类,如下:

package models;

import javax.persistence。
*
;

import play.db.jpa.Model;

@Entity

public
class Department extends Model {

public String
name;

public String
description;

}

  同样在app/controllers目录下,创建控制层文件Departments,代码如下:

package controllers;

public
class Departments extends CRUD {

}

  这个时候,再次运行play run,会发现使用http://localhost:9000/admin时,看到的界面将会比之前的多了能够增加部门实体类,大家可以尝试下。

  六:建立部门跟员工之间的连接关系

  现在我们在建立了部门类和员工类后,可以开始建立它们之间的关联关系了。由于一个部门中是有多个员工,所以在员工类employee中,写入如下代码,建立两个类之间的关联:

@ManyToOne

public
Department department;

  这里依然使用了@ManyToOne的JPA注解去实现多对一的关系。在再次运行程序后,会发现,在增加员工时,会出现下拉菜单选择框,让其选择该员工属于哪一个部门。

[1] [2] 下一页

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号 增值电信业务经营许可证号:滇B2-20110045
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730