Play1.2.7项目概括

作为入公司以来第一个接手的项目框架,我想在此记录一下接手项目的过程,修改代码以及一些平时在开发过程中的小技巧和坑,帮助也在学习这个框架的同学,提供一些解决方案和注意点.

      PlayFramework作为一个全栈式的开发框架,帮我们一些刚入门的web开发工程师提供了很多帮助,减轻了我们日常工作中的很多不便,降低了学习成本.它与目前主流的三大框架比起来(Spring,SpringMVC,Mybatis/Hibernate),更加容易上手,配置也更加简单化.但是因为play内部已经对一些常用的工具或者开发流程做了比较固定的封装,当用了一段时间后,难免会觉得它不够灵活,因此在项目开发过程中我们开发小组也找了很多资料来比对play和主流框架的优缺点,结论就是:没有不好的框架,只有不好的开发.因为的确play有很多值得我们学习的点,一些用法(比如为什么controller里的方法必须加static)我们在纠结为什么他要这么去实现的时候,觉得别扭的时候最好先放下自己的主管意见,因为后面的经验教训会告诉你,人家想的肯定比你第一眼以为的要多,存在即合理,无脑的提出偏见是一种不成熟的表现.好吧,废话有点多,我们进入正题.

 

      我们的项目是从一家外包公司接手的,公司做P2P项目,初期因为急着上线,所以从某外包团队买了一套系统回来,后面发现外包的效率和功能不行,故决定自己组成技术团队,做定制化开发,我有幸成为了公司技术部的第二位创始人,经历了公司整个项目的接手和改造.背景环境就是啰嗦到这里

     外包公司的代码结构还算清晰,因为框架的关系,每个包下的内容不算太难理解,因为play对mvc的分层做的比较好,因此使用这个陌生的框架不算难,网上也有很多的资料可以查询,我这边不详细介绍具体的使用方法,只简单说一下各个包中的内容:

 

  • models

这个包中放具体的表结构实体,每个实体映射一张业务表,因为play内部持久层是用Hibernate去实现的JPA,因此数据库交互这块开发起来非常方便,它内部封装了几乎所有的数据库操作,我们甚至不需要写dao层就能实现基本的curd操作(这一点非常方便,但也带来了很多麻烦).

  • controller

顾名思义,放置控制器的包,里面包含所有前端的控制器.play的控制器有一个约定,就是所有方法必须是静态的,方法都必须有static,否则访问不了,后台和前端的数据传输做的很简便,一个简单的render(obj1,obj2,...)就能将后台的数据传输到前端的模板中.

  • views

存放前端模板的包,里面包含全部的前端代码,后台render回来的数据可以在这里解析展示,play提供的模板引擎也十分好用,方便开发,比如#{list}标签,#{include}标签等,这里不多介绍

     项目的详细情况这里不易多说,接下来主要以提出问题加对问题的思考和解决思路做一个总结和分享.

猜你喜欢

转载自zpl11111.iteye.com/blog/2371177
今日推荐