这是EasyJWeb新特性介绍的第三篇文章,主题是:简约而不简单,用最少的代码,做尽可能多的事情。
我们坚信,代码量少,表达规范,语法结构稳定的程序,更容易维护。EasyJWeb框架的一个最大特点,就是让你能用最少、简洁、规范的代码,做尽可能多的事情。
在写程序这样一个充满艺术及哲学美的领域里,能用一句代码解决的问题,决不能写两句代码;能不用代码解决的问题,就更不要写代码了:-)。我们要使用简体字,是因为我们知道该简化的一定要简化。简约而不简单,是每一个程序员追求的一种境界。
EasyJWeb的目标就是要让大家书写Java Web应用的时候,尽量的简洁,代码尽量少。但其实现的功能不简单,其体系不简单,其应用的领域不简单。他能让你用简洁及简约的表达方式,写出正统、层次分明、可维护性高的JavaEE应用程序,实现企业级应用的需求。
比如对于一个添删除改查,我们使用正统OO分析的方式就是先进行建模,然后把模型转化为java能识别的领域对象,或者是可持久化Entity对象。有了Entity或Domain,即可在这个基础上构建业务逻辑、DAO以及前端表示层的界面操作。在DAO层,EasyJWeb的应用框架支撑平台中提供了一些非常通用的解决方案,比如泛型DAO,JPA封装等,他能使你根据情况选择最适合你的持久层方案来解决专业问题。对于业务层来说,EasyJWeb通过引入了超级IOC容器,可以使得你用最适合自己的方式来解决业务层的问题,他同样提供了一些通用的业务实践及业务方法等辅助对象来帮助我们能使用尽量少、尽量简洁的代码来解决问题。
下面我们看看在一个添删改查、分页、排序等针对Entity对象的能用操作中,一个基于EasyJWeb写的Action中的内容:
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/717446ca04a6125dc5b6b54e0fa14ab4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
对,只需要这么简单的几行代码,告诉这个Action使用哪一个DAO及对哪一个Entity类进行操作,其它的一切都交由EasyJWeb提供的通用CRUD基类搞定。
当然,我们使用其它的java mvc框架也能通过这样的封装来简化用户的Action,但实现同样的功能,EasyJWeb的基类Action所使用的代码肯定是比较少的,而且也是非常直观的。我们来看看添删改查的CrudAction基类及其父类的代码。
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)