资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
J2EE快速开发详解,Harrisson,2018/8/23,LOGO,目录,以快速开发框架为例,在其内实现一个Demo的增删改查。,实例讲解,讲解快速开发框架中使用的开源框架及其原理。,框架说明,1,2,框架说明,Part 1,1.1 快速开发框架整体结构图,这是一个轻量级的框架组合,整合了当下使用广泛的流行框架,具备良好的性能及灵活性,同时使用Maven来对项目进行构建、管理和部署,令项目有条不紊。,1.2.1 Maven介绍,Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。,常用属性:,project:pom的xml根元素。 groupId:定义当前Maven项目隶属的实 际项目。 artifactId:定义项目中的一个Maven项 目模块,一般为实际项目名称。 version:定义当前版本。 packaging:定义项目构建为jar或war, jar为可导入包,war为可部署Web项目。 name:名称。 url:jar包下载地址,可设置为本地代理。 dependencies-dependency:依赖管 理。 build-plugins-plugin:插件。 properties:自定义属性。,1.2.2 Maven优点,1、快速构建项目只需定义好pom.xml,则可以在多个项目中复用,导入项目中右键点击xml运行Maven install,它会自动从Maven官方库中下载第三方依赖库。,2、平滑升级框架Maven将项目所有第三方依赖库的版本管理起来,便于项目的依赖库版本控制。在pom.xml内修改框架版本,先Maven clean然后Maven install,Maven会重复优点1的步骤,将项目框架版本升级为指定的版本。,Maven是一款方便易用的工具,现在通过介绍以下几点主要功能,让大家对它有一个大概的掌握。,1.2.3 Maven优点,3、统一项目结构可以保证构建的所有Maven项目结构都是统一的,每个目录下放的东西都是固定的。要找源码去src/main/java/下,要找界面去src/main/webapp/WEB-INF/下,要找资源去src/main/resources/下,要找单元测试的源码和资源去src/test/下。,4、自动生成(部署)网站在Maven中Maven install后,会在target目录下生成网站项目war包,可将之手动拷贝Web应用服务器下,也可配置插件直接热部署到Web应用服务器下。,1.2.4 Maven缺点,当然,每一款工具都有优点,也有缺点,Maven的主要缺点如下。,1、安装配置繁琐需要配置环境变量,并且使用某些特性要去国外网站下载插件,较为麻烦。2、缺乏详细教程Maven在网上资料有限,而且都较为简易,如在实际使用过程中遇到问题,通常难以查询到有用的信息。3、资源库不完整大部分依赖库都能在Maven官网上下载到,但有些使用较少的依赖库是找不到的,虽然Maven提供了在本地库导入特定依赖库的功能,但还是比较麻烦。,综上所述,虽然Maven有一些缺点,但也无法阻止它的快速传播,毕竟还是瑕不掩瑜,相信这些缺陷在不久的将来会渐渐弥补。,1.2.5 Maven与Ant的区别,通常人们都会将Maven与Ant拿来做比较,说到底还是各有千秋,但对于大型项目来说,Maven的特性更加便捷、实用。,1.3.1 Mybatis介绍,1、Mybatis是什么Mybatis是数据映射器(数据映射器层:用于在对象和数据库之间搬运数据,同时保证对象、数据库和数据映射器层本身相对独立。)Mybatis不是直接把类映射为数据库表,而是把sql语句的参数与结果(即输入与输出)映射为类。为如何在类和数据库间建立映射带来了更大的灵活性。同时也更好的隔离了数据库设计和应用程序中使用的对象模型。,2、Mybatis的作用Mybatis是三层架构中数据持久层的框架。Mybatis对sql进行了封装和外部化,使sql从应用程序代码中分离出来。(业务逻辑从数据库中分离出来,应用程序更容易部署与测试,有更好的可移植性),1.3.2 Mybatis功能架构,1、API接口层提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。 2、数据处理层负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。 3、基础支撑层负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。,1.3.3 与Hibernate的区别,轻量级的Mybatis与重量级的Hibernate相比,Mybatis更容易上手和使用,灵活度更高,而Hibernate因为其完整的封装,导致学习成本及上手难度较大。,1.4.1 Spring mvc介绍,1、Spring mvc是什么Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring MVC也是要简化我们日常Web开发的。,2、Spring mvc能帮我们做什么1、让我们能非常简单的设计出干净的Web层和薄薄的Web层;2、进行更简洁的Web层的开发;2、天生与Spring框架集成(如IoC容器、AOP等);3、提供强大的约定大于配置的契约式编程支持;4、支持灵活的URL到页面控制器的映射;5、非常容易与其他视图技术集成,如Velocity、FreeMarker等等;6、非常灵活的数据验证、格式化和数据绑定机制;7、提供一套强大的JSP标签库,简化JSP开发;8、支持灵活的本地化、主题等解析;9、对静态资源的支持;10、支持Restful风格。,1.4.2 Spring mvc的请求流程,Spring MVC框架也是一个基于请求驱动的Web框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。首先让我们整体看一下Spring Web MVC处理请求的流程:,1.4.3 Spring mvc架构,1.4.4 与Struts2的区别,1.5.1 Spring介绍,1、Spring是什么Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情,然而,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。,1.5.2 Spring特点,方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。AOP编程的支持通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。声明式事务的支持在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。方便程序的测试可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。方便集成各种优秀框架Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。降低Java EE API的使用难度Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。,1.5.3 Spring架构,1、核心容器:核心容器提供 Spring 框架的基本功能(Spring Core)。 2、Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。 3、Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了 Spring 框架中。 4、Spring DAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据 库供应商抛出的错误消息。 5、Spring ORM:Spring 框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具,其中包括JDO、 Hibernate和iBatisSQL Map。 6、Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。 7、Spring MVC 框架:MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。,1.6.1 快速开发平台介绍,1、DevelopFrame是什么DevelopFrame是一个整合了SSM(Spring + Spring mvc + Mybatis)三大框架的基础项目,该项目与产品或者定制项目无关,作为一个独立维护的项目运作。它的出现是为了避免重复造轮子,把每个项目通用的部分抽取出来,平时在其上增加通用性功能,以便应付紧急情况的项目。,1.6.2 快速开发平台介绍,1、DevelopTools是什么DevelopTools是一个集成常用工具包的项目,该项目是作为一个扩展项目存在。它的出现是为了提高项目的开发效率,可自行封装整合各类工具,打成Jar包引入项目即可使用,避免在实际开发时再从网上去寻找相关的代码。,DevelopFrame,.,项目2,项目1,DevelopTools,扩展,1.6.3 快速开发平台的功能,1、DevelopFrame 与DevelopTools当前版本DevelopFrame和DevelopTools当前版本均为1.0,后续会考虑平台、工具包的升级。 2、DevelopFrame 1.0 包括哪些功能系统用户管理权限角色管理系统设置 3、DevelopTools 1.0 包括哪些工具日期时间、字符串、缓存、二维码、Json、文件、图片、XML等。,1.6.4 快速开发平台的构想,1、DevelopFrame功能深化DevelopFrame后期应该加入更多的通用功能,使之成为一个能够即时拿来使用的项目。 2、DevelopFrame数据初始化DevelopFrame将数据库建表及数据初始化抽取为一个单独的功能,再新建项目时只需在部署项目后访问项目即可一键搞定,同时支持MySql、Sql Server、Oracle等主流数据库。 3、DevelopFrame项目分支DevelopFrame将根据公司主体业务进行分类,进行不同的拓展,比如OA业务、电商业务等,分为不同的领域进行深入的功能拓展,然后将功能组件化,在具体使用时可直接在后台设置需要使用的功能即可形成一个完整的系统。 4、DevelopService项目搭建DevelopService是以高效实现接口为目的的接口平台,将业务项目与接口项目分离,及时适应需求变化调整,便于整体项目架构的后期拓展。 4、DevelopTools深入封装将工具类根据自身业务项目的需要,整理为一套完整的工具包,并且生成API供开发者查阅。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号