`
flyiu
  • 浏览: 1364 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

跟踪为朋友所做的小型咖啡厅管理系统-框架篇01ACTION层01(jpa+spring+struts2)

 
阅读更多

因为是为朋友做的一个小系统,顺带研究一点小技术。

技术上采用的是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整合实例

    同时,可以使用Spring插件(struts2-spring-plugin)来实现Spring与Struts的集成,这样Action类可以直接从Spring容器获取服务层对象。 **4. 实现业务逻辑** 创建JPA实体类,使用`@Entity`注解标识。接着,创建对应...

    struts2+jpa+spring2.5配置基础框架

    Struts2、JPA(Java Persistence API)和Spring 2.5是Java开发中的三大核心框架,它们在构建企业级应用时发挥着重要作用。这里我们将深入探讨这些技术的基础配置及如何将它们整合在一起。 首先,Struts2是一个基于...

    Spring+Struts2+JPA

    **Spring+Struts2+JPA 整合详解** 在Java Web开发中,Spring、Struts2和JPA是三个非常重要的框架。Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2是一个强大的MVC框架...

    Struts2+JPA+Spring整合(PPT)

    3. **集成JPA**:在Struts2的Action中,通过Spring注入JPA相关的Service,Service层再调用DAO进行数据库操作。使用JPA的注解(如@Entity、@Table、@Id等)来定义实体类,并配置ORM映射。 4. **拦截器配置**:可以...

    基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统.zip

    基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统 基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统 基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统 基于SpringBoot+Spring Data JPA+mybatis的...

    springboot+springdatajpa+thymeleaf+shiro 的管理平台框架

    综上所述,SpringBoot+SpringDataJPA+Thymeleaf+Shiro的组合为开发高效、安全的管理平台提供了坚实的基础。它们各自负责不同的层面:SpringBoot负责项目结构和运行环境,SpringDataJPA处理数据访问,Thymeleaf实现...

    基于_Struts_2+Spring+JPA_框架的WEB_应用

    在整合这三个框架时,Struts 2负责前端的请求处理,Spring作为应用的容器管理所有bean,包括Struts 2的Action类和JPA的EntityManager。JPA则负责数据持久化,通过Spring的数据访问/集成模块与数据库交互。 - **配置...

    基于SpringBoot2+Jpa+SpringSecurity+redis+Vue的前后端分离系统

    持久层框架:Spring boot Jpa 安全框架:Spring Security 缓存框架:Redis 日志打印:logback+log4jdbc 接口文档 swagger2 其他:fastjson,aop,MapStruct等。 页面框架:Vue 前端源码:eladmin-qt 后端源码:el...

    Spring+Hibernate+Jpa+Struts2整合实例

    标题 "Spring+Hibernate+Jpa+Struts2整合实例" 描述的是一个综合性的Web开发教程,它将四个关键的Java技术框架集成在一起,用于构建高效的企业级应用程序。这个实例涵盖了Spring作为整体应用的管理框架,Hibernate...

    基于vue3+element-plus+springboot+mybatis+jpa+mysql的学籍管理系统源码

    本系统作为vue3初学者的入门系统,通过开发经典的《学籍管理系统》模拟项目,使vue2的初学者快速掌握从无到有的搭建一套vue3+element-plus前端+spring boot后端+mysql数据库的前后端分离的现代主流项目架构。...

    SpringMVC+Spring+JPA+Maven框架搭建

    SpringMVC+Spring+JPA+Maven框架搭建 SpringMVC+Spring+JPA+Maven框架的搭建涉及到一系列的技术组件,其中SpringMVC是Spring框架的一个模块,用于构建Web应用,提供MVC架构;Spring框架是一套全面的企业级应用开发...

    基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统源码.zip

    1、基于SpringBoot+Spring Data JPA+mybatis的仓库管理系统源码.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考...

    JPA+Spring+Struts2整合

    在JPA+Spring整合中,Spring可以用来管理JPA的实体Bean,处理数据访问层的事务,并且可以与Struts2协同工作,提供控制器层的支持。 **Struts2框架** Struts2是一个基于MVC模式的开源Web应用框架,它的核心是Action...

    基于vue3+element-plus+springboot+mybatis+jpa+mysql的幼儿园管理系统源码

    本系统作为vue2初学者的入门系统,通过开发经典的《幼儿园幼儿信息管理系统》模拟项目,使vue2的初学者快速掌握从无到有的搭建一套vue3+element-plus前端+spring boot后端+mysql数据库的前后端分离的现代主流项目...

    s2sh s2sh项目 JPA项目 JPA+struts2+Hibernate+spring

    标题提到的“s2sh s2sh项目 JPA项目 JPA+struts2+Hibernate+spring”是指一个基于Struts2、Spring和Hibernate的Java Web项目,其中还集成了JPA(Java Persistence API)作为数据持久化层。这个项目是一个很好的学习...

    车辆管理系统(struts+hibernate+spring+oracle).rar

    车辆管理系统(struts+hibernate+spring+oracle).rar 对​公​务​用​车​进​行​档​案​、​费​用​、​调​度​、​维​修​、​安​全​、​运​行​等​全​方​位​的​管​理​和​统​计​,​以​方​便​...

    Struts+spring+JPA例子

    然后,导入压缩包中的"ssjexample"项目,该项目应该包含了Struts2、Spring和JPA的配置文件、实体类、DAO层、Service层以及Action层的代码。 在编码时,由于项目使用GBK编码,所以如果遇到乱码问题,你需要在Eclipse...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    总结来说,本项目是一个基础的Web开发框架,结合了SpringMVC的MVC设计模式、Spring Data JPA的数据访问层、Hibernate的ORM能力以及FreeMarker的模板引擎,同时还实现了环境配置的灵活切换,为开发高效、可维护的Web...

    struts2+spring+jpa小例子

    Struts2、Spring 和 JPA 是Java开发中常用的三大框架,它们各自负责应用程序的不同层面:Struts2 主要处理 MVC(Model-View-Controller)架构中的控制层,Spring 提供全面的依赖注入(DI)以及面向切面编程(AOP),...

Global site tag (gtag.js) - Google Analytics