`
pesome
  • 浏览: 68002 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

项目中spring分层开发的总结

阅读更多

对spring框架和开发模式进行了验证。大家有什么问题或好的建议,请回复,大家一起讨论!

一、 项目目标及完成情况<!----><o:p></o:p>

目标<o:p></o:p>

完成情况<o:p></o:p>

技术验证和推广<o:p></o:p>

完成较好。<o:p></o:p>

1. 共有7人实际参与项目开发,我们引入maven2作为构建工具,eclipse作为ide环境。大家都能在很短的时间初始化项目,并快速掌握各自需要的技术(如springspring mvc等)进行开发。<o:p></o:p>

2. 对分层开发的模式也进行了探讨,证明它是可行的:可以各层并行开发,提高开发效率;而通过分层可以隔离关注点,使得各层开发人员可以只关注本层相关技术和接口,减轻开发人员负担,提高效率。<o:p></o:p>

3. 在项目活动中碰到一些技术难点,我们将解决方案文档化,然后项目内共享,这样能在碰到同样问题时快速解决。现在还是碰到问题才解决,以后需要建立预研机制,较早发现可能出现的难点,尽早解决,避免对项目进展产生影响。<o:p></o:p>

4. 平台还处于建设阶段,对项目的支持还不够,需要形成一些通用的组件。<o:p></o:p>

过程和管理实施<o:p></o:p>

有待提高。<o:p></o:p>

1. 测试1.0版已发布,目前开发11版,完善分页功能和采用更好的验证方式。由于对规范开发的项目周期估计不足,加上管理上的一些问题,导致项目有所延期,需要对实际的项目开发进行量化分析,确立比较准确的人员和时间计划。<o:p></o:p>

2. UC文档规范和编码规范等的引入,为项目提供了较好的支持。<o:p></o:p>

3. 在实施中比较缺乏必要的文档支持,如设计文档等;同时各层的接口定义也出现较多问题,导致一些开发瓶颈的出现,这都需要在正式迭代中改进。<o:p></o:p>

系统功能<o:p></o:p>

完成较好。<o:p></o:p>

1. 完成了UC文档确定的功能点,页面美观,使用方便,能给用户较好的页面体验。<o:p></o:p>

2. 采用较好的面向对象设计,能提供一定的可重用性和扩展性。<o:p></o:p>

二、展现层总结<o:p></o:p>

经验与教训

1.         SpringMVC是一个简洁、标准的MVC实现,结构清晰,功能强大(主要体现在对日常WEB开发中可能遇到的各种常见问题的解决方案),有一定学习曲线,但是有其它MVC框架基础的开发人员可以较快上手;

2.         根据业务功能尽早确定接口,接口由展现层确定,由业务层实现;

3.         合理选择Controller可以减少开发工作量,前提是充分理解每种Controller的处理机制及其回调方法细节,Controller的编写更多的精力主要花在校验、出错处理上;

4.         页面工作量很大,特别是需要比较复杂javascript的页面;

5.         UI的流转设计等对于Controller的编写和业务层的接口有着很大的影响,应尽早明确,否则会产生较大的返工;

6.         展现层开发可以与业务层同步进行,推荐确定接口后,就编写业务层接口的mock实现,放在展现层的test包内,同时写单独的测试用spring配置文件;

待解决问题

1.         Controller是否应写test case,本次开发未做;

2.         如何减少校验的工作量,对于有业务逻辑的服务端校验如何实现,是否需要采用一些validator框架,如sunJEFvalidator组件,目前我们进行了研究,通过使用commons validator组件能够较方便的实现validator

三、业务层总结<o:p></o:p>

经验与教训:

1.         SpringiBatis的应用还是很成功的,学习曲线比较平滑,好的框架好掌握;

2.         比较重视测试,编写很多测试案例,并频繁使用maven运行所有测试,使得问题能够及早发现,保证了各层能够快速成功集成

3.         对于很多问题都需要经过各层间的讨论来确定;

4.         接口由展现层定义,由业务层实现;

5.         持久层数据模型和领域模型是有区别的,但简单的情况下可以合二为一;

6.         Façade模式还是很有价值的;

7.         一些开源软件的使用需要比较小心,如iBatisnull的问题等,如果处理不当会花费较多的人力物力,需要技术较强的人对开源软件花费一定时间进行源码级的研究,才能找出较好的解决方案;

8.         认识到设计的重要性,需要对前置、后置条件等进行分析;

9.         数据类型分析简单,造成数据库设计对业务层产生不良影响;

待解决问题:

1.         沟通不够,需要建立沟通渠道,是否可以有专门的场合和时间讨论项目中的进度和问题;

2.         计划不明确,对于要完成哪些功能,完成到什么程度,没有明确的定义,需要设置里程碑目标。在正式迭代开始前,要明确每次迭代的任务和目标,需要结合业务需求进行计划;

四、持久层总结<o:p></o:p>

经验与教训:

1.  通过代码生成工具,能够大大提高开发效率;

2.  工具使用者要求对ibatissql比较了解;

3.  在使用过程中对工具进行了完善,这对正式使用工具提供了保证;

4.  与业务层的接口,应该由业务层确定,由持久层实现,而不是由持久层决定;

待解决问题:

1.  持久层的测试该如何进行,才能真的有用;

2.  一些通用功能如分页代码生成,还在开发中;

<o:p> </o:p>

分享到:
评论

相关推荐

    数据源及分层开发下载资料

    通过学习,开发者可以掌握如何高效地管理数据库连接,理解MVC模式的应用,以及在实际项目中如何实施分层开发,提升代码的可读性和可维护性。资料中的代码示例将帮助你更直观地理解和实践这些概念。

    Spring注解开发详解 & Spring与MyBatis整合实战(彩色PPT版).pptx

    注解开发总结 5、Spring整合MyBatis Spring整合MyBati Spring整合JUnits 【Spring概述】 Spring是一个轻量级的Java开发框架,起源于2003年,由Rod Johnson在其著作中提出。它的主要目的是简化企业级应用的开发复杂...

    《Spring Boot2.0项目开发综合实训》指导手册v1.0.pdf

    通过上述流程,学生能够学会如何使用Spring Boot来快速构建企业级的应用程序,理解前后端分离的设计思想,掌握基于Spring Boot的项目开发流程和最佳实践。同时,通过综合实训的方式,能够培养学生的实际操作能力,为...

    基于SpringCloud框架开发的商城系统

    总结来说,这个基于SpringCloud框架的商城系统展示了微服务架构在大型电商项目中的实际应用,实现了业务模块的解耦、服务的高可用和可扩展性,是Java Web开发中的一次成功实践。通过学习和研究这个项目,开发者可以...

    spring-framework 开发所需jar包

    总结来说,"spring-framework 开发所需jar包"包含了Spring框架的核心组件,开发者可以根据项目需求解压并引入这些jar包,以实现基于Spring的高效开发。同时,结合Spring MVC,可以构建强大的Web应用程序,利用Spring...

    SSM(springMVC+spring+mybatis)项目demo含jar包

    总结一下,SSM项目是一个结合了SpringMVC、Spring和Mybatis的Java Web开发框架,它提供了强大的分层架构,便于开发和维护。SpringMVC处理HTTP请求,Spring负责管理和协调各个组件,Mybatis则处理数据库交互。这个...

    Spring MVC 开发一般步骤详述

    总结来说,Spring MVC开发的基本步骤包括:创建Web项目、配置web.xml和数据库相关文件、设置项目结构、编写各层类以及数据库设计。通过这个过程,我们可以实现一个完整的Java Web应用程序,有效地管理和控制应用程序...

    strtus spring Hibernate 个人总结

    Struts、Spring 和 Hibernate 是 Java 开发中常用的三大框架,它们各自负责应用程序的不同层面:Struts 主要处理 MVC 模式中的 Controller 层,Spring 提供了全面的 IoC(Inversion of Control,控制反转)和 AOP...

    spring+springMVC+hibernate

    总结,"spring+springMVC+hibernate"的整合应用是Java Web开发中的常见实践,它涉及到后端的Spring管理、MVC分层、ORM持久化以及前端的交互设计等多个方面,是学习和掌握企业级开发技能的重要步骤。通过案例中的"ssh...

    开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp

    标题中的"开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp"表明这是一个关于Spring MVC框架的开发教程,其中包含了源代码供学习者参考。Spring MVC是Spring框架的一个核心组件...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能...附录B 在Spring中开发Web Service

    Spring MVC总结.doc

    总结来说,Spring MVC框架以其基于IoC的配置、强大的扩展性、清晰的MVC分层和与Spring其他组件的深度集成,成为了现代Java web开发的首选。尽管在某些方面可能不如Webwork2或Struts直接易用,但其灵活性和可扩展性使...

    看点资讯的spring boot框架cms.rar

    本项目“看点资讯的Spring Boot框架CMS”是针对具有一定JavaEE基础的开发者设计的一款内容管理系统(CMS),它充分利用了Spring Boot的优势,通过注解驱动的方式简化了开发流程,为快速开发新闻资讯类应用提供了便利...

    Spring示例

    Spring框架是Java开发中最常用的...总结起来,"Spring示例"可能涵盖了Spring框架的多个方面,包括IoC、AOP、测试、数据访问、Web开发和微服务治理等,通过实际的代码示例,可以帮助学习者更好地理解和应用Spring框架。

    Spring boot 目录结构总结

    Spring Boot 目录结构总结 Spring Boot 是一个基于 Java 的框架,旨在简化 Spring 应用程序的开发。它提供了一个灵活的方式来构建基于 Web 的应用程序,具有快速开发、易于测试和生产就绪的特点。在 Spring Boot ...

    spring知识总结

    Spring框架以其轻量级、分层和开放性而著称,能够为Java开发提供全面的编程和配置模型。 技术说明中提到Spring框架是分层的,每层都有相应的解决方案。在web层,Spring框架提供Spring MVC来处理Web层的任务。在...

    spring-roo-docs

    - 创建项目:通过命令行或集成开发环境(IDE)快速创建一个新的SpringRoo项目。 - 添加功能:为项目添加基本的功能,如用户认证、数据持久化等。 - 测试应用:运行和测试生成的应用程序,确保所有功能都能正常工作。...

    Spring框架的流程

    Spring框架是Java开发中广泛使用的轻量级框架,它提供了一种依赖注入(Dependency Injection,DI)的方式,简化了...在实际项目中,理解并熟练掌握Spring框架的流程和核心概念,对于提高开发效率和代码质量至关重要。

    spring boot入门教程

    Spring Boot 大大简化了基于 Spring 的应用开发过程,提供了快速搭建项目的能力,并通过内嵌服务器、自动配置等功能极大提升了开发效率。通过上述步骤,我们可以轻松地创建出一个基于 Spring Boot 的微服务应用,并...

    搭建Spring和MyBatis框架实验总结.docx

    ### 搭建Spring和MyBatis框架实验总结 #### 一、实验背景与目标 在当前快速发展的软件行业中,采用高效的技术栈是提升开发效率的关键。Spring框架因其强大的功能和广泛的社区支持,在企业级应用开发中占据着...

Global site tag (gtag.js) - Google Analytics