zoukankan      html  css  js  c++  java
  • Play! Framework —— 颠覆“企业级”=“复杂”的观念

    Play! Framework 是07年的一个项目,08年开源,09年11月25日发布了1.0版。发布后我就一直在学习这个框架。现在正式发布版本已经是1.01版,而且1.1版本也在每日更新。可以在http://download.playframework.org 下载已发布版本,和每日的最新版。

    学习Play!的过程中,最经常的感受就是——简直太简单了!并不是说Play!是一个设计简单的框架,相反学习中发现处处都会发现Play!设计的完整,这种完整性甚至包括网站设计和学习文档。Play!的简单之处在于它学习和使用起来非常简单。使用Play!新建项目,所有的目录结构都会自动建立。Play!摒弃了传统的JSP,Servlet技术(这太伟大了),自己提供了一套非常易用的MVC 框架。Play!内建了JPA的支持,内置了Hibernate作为默认的持久化引擎。

    在Play!中,持久化只需要集成Model类并加入@Entity注解:

    代码
     1 ...
     2 
     3 @Entity
     4 
     5 public class User extends Model
     6 
     7 {
     8 
     9   public String name;
    10 
    11   public String password;
    12 
    13   public User(String name,String password)
    14 
    15   {
    16 
    17     this.name=name;
    18 
    19     this.password=password;
    20 
    21   }
    22 
    23 }
    24 

    然后,创建User并保存到数据库就只需要一行代码:

    1 new User("zxsoft","password").save();

    这就是全部代码,不需要写任何Mapping配置文件。

    Play! 还内置了HSQLDB 数据库,支持内存数据库,非常方便做项目开发和测试。

    Play!的Controller采用命名约定:

    1 <form action="@{Application.createUser}">
    2     <input name="name" />
    3     <input name="password" />
    4     <input type="submit" value="Create User" />
    5 </form>

    然后在Application类中,建立createUser方法:

    1 ...
    2 public class Application{
    3     ...
    4     public static void createUser(String name,String password)
    5     {
    6         User user=new User(name,password).save();
    7         render(user);
    8     }
    9 }

    无需其他任何配置,Play!会自动映射form中的name和password参数至createUser方法。

    View层Play!使用以Groovy语法写好的html模板中去以render()方法的参数渲染,并将结果回传给客户端。

    而这一切,全部都不需要配置。

    Play!虽然使用简单,扩展性却非常强大,篇幅所限所述不能详尽。http://www.playframework.org 是Play!的官方网站,推荐大家到这儿看看。Play!的文档非常详细,教程中有份手把手做一个Blog引擎的教程,相信照着做一下之后一定会让你学会Play! Framework,那时你一定会爱上她的!

    张旋(zxsoft)
    如对本文有什么疑问,请在下面写下留言,谢谢!

  • 相关阅读:
    1、TensorFlow简介
    4、numpy+pandas速查手册
    3、pandas
    2、Numpy常用函数
    11、C内存四区模型
    1、Numpy基础
    10、C++函数
    开始
    创建与删除SQL约束或字段约束
    Halcon
  • 原文地址:https://www.cnblogs.com/zxsoft/p/1655216.html
Copyright © 2011-2022 走看看