因为是为朋友做的一个小系统,顺带研究一点小技术。
技术上采用的是jpa+spring+struts2。
由于系统本身较小,所以主要的精力也就放在对框架层次的学习上。
jpa的实现选用hibernate。这次是在总结在公司自己所接触到的几个框架之上设计而成。
从两年前我开始学习mvc概念的时候,就在思考我们究竟需要一个怎样的Action层。先看一段action层的代码。
/**
* 翻页查询列表(内容合成业务)
*
* @return
* @author liboc
*/
public String contentComposeInfoList() {
try {
sysOperator = Cantants.getCurUser();
pageVO.setPageShowList(contentComposeInfoService.getContentComposeInfoList(pageVO, sysOperator));
// 取得产品信息
ProductInfoBean tempPageVO = new ProductInfoBean();
tempPageVO.setSearchProductStatus("4");// 只展示产品状态为生效(4)的产品信息
pageVO.setProductInfoList(productInfoService.getProductInfoList(tempPageVO, sysOperator));
Cantants.saveSysLog(Cantants.FLAG_SUCCESS,
"内容标题:" + pageVO.getSearchContentTitle() + "产品ID:" + pageVO.getSearchProductId() + "状态:" + pageVO.getSearchComposeStatus() + "计划发送时间:"
+ pageVO.getSearchPlanSendTime() + "实际发送时间:" + pageVO.getSearchSendTime() + "创建人员:" + pageVO.getSearchCreatePerson(), "内容合成业务信息查询",
Cantants.SYSLOG_OPERATE_QUERY, Cantants.SYSLOG_TYPE_OPERATE);
return "list";
} catch (LoginException e) {
FileLog.errorLog(e);
return LOGIN;
} catch (ServiceException se) {
Cantants.errorDeal(se.getMessage(), se, pageVO, "内容合成业务信息查询", Cantants.SYSLOG_OPERATE_QUERY);
return ERROR;
} catch (Exception e) {
Cantants.errorDeal("内容合成业务信息查询发生业务错误", e, pageVO, "内容合成业务信息查询", Cantants.SYSLOG_OPERATE_QUERY);
return ERROR;
}
}
这一段20来行的代码中,包含了日志处理、异常处理及部分业务处理代码。这在开发中,可能不过是一阵复制、粘贴。然后修改其中的几个字。程序员的时间不应该花费如此之多来做这种重复而且无多大实际意义的事。
在aop盛行的今天,我们是不应该让这种情况长期出现的,ee程序员的主要关注点应该是业务及模型。而mvc分层开发中,action层中,我想看到的是:
public String queryAllEntityByPage() {
stockCompanies = companyService.getAllEntityByWhere(getEntityClass(), null);
return SHOWALLBYPAGE;
}
将验证、权限、日志、异常通通剥离,还一个清晰明了的Controller,只做Model与View之间沟通的桥梁。
分享到:
相关推荐
JPA+Spring+Struts整合实例,JPA+Spring+Struts整合实例
struts2+jpa+spring2.5配置基础框架,直接运行即可
springboot+springdatajpa+thymeleaf+shiro 的管理平台框架
基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统 基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统 基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统 基于SpringBoot+Spring Data JPA+mybatis的...
struts2+jpa+spring的详细整合,PPT上面有详细解说
本系统作为vue3初学者的入门系统,通过开发经典的《学籍管理系统》模拟项目,使vue2的初学者快速掌握从无到有的搭建一套vue3+element-plus前端+spring boot后端+mysql数据库的前后端分离的现代主流项目架构。...
持久层框架:Spring boot Jpa 安全框架:Spring Security 缓存框架:Redis 日志打印:logback+log4jdbc 接口文档 swagger2 其他:fastjson,aop,MapStruct等。 页面框架:Vue 前端源码:eladmin-qt 后端源码:el...
Spring+Struts2+JPA入门小例子
1、基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统源码.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考...
车辆管理系统(struts+hibernate+spring+oracle).rar 对公务用车进行档案、费用、调度、维修、安全、运行等全方位的管理和统计,以方便...
管理系统系列--使用SpringBoot+SpringJPA+Swagger+Shiro快速搭建前后端分离的权限管理
在学习jpa时候做的一个struts2+spring+jpa整合的完整例子 包含分页,一个简单的 资产入库系统 并实现了登陆等。
基于_Struts_2+Spring+JPA_框架的WEB_应用
struts1+jpa+spring2.5
SpringMVC+Spring+JPA+Maven的框架搭建的详细说明文档。具体包括项目整体结构,及如何使用Maven构建
本系统是基于Thymeleaf+SpringBoot+SpringDataJPA实现的的中小医院信息管理系统。简单实现了挂号收费,门诊管理,划价收费,药房取药,体检管理,药房管理,系统维护等基础功能。就诊卡提供了手动和读卡两种方式录入...
Spring+JPA+Struts2三个框架的整合,用mysql数据库
SpringMVC+Spring+JPA+LayUI+JSP学生选课系统 本项目为计算机学生选课系统,可作为期末作品,供参考 项目技术: SpringMVC Spring SpringDataJPA LayUI JSP MySQL5.7
基于SpringBoot+SpringDataJPA+Mysql的课表排课及实验室机房管理系统
Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui实现通用用户权限管理系统