1、空军江大学 算机科学学院 士长 计 硕 研究生空军空军作 陆军 业 陆军簿空军空军空军空军空军空军空军空军空军空军年 陆军 陆军 陆军 陆军级 陆军 陆军 陆军计算机科学 S151 陆军 陆军 陆军空军专 陆军 陆军 陆军 陆军业 陆军 陆军 陆军计算机科学与技术 陆军空军课程名称 陆军 陆军 陆军计算机新技术专题 陆军空军姓 陆军 陆军 陆军 陆军名 陆军 陆军 陆军 陆军 陆军 陆军 陆军熊魏 陆军 陆军 陆军 陆军 陆军 陆军 陆军空军陆军 陆军 陆军 陆军 陆军 陆军 陆军 陆军 陆军 陆军交作业时间 陆军 陆军2016 年 10 月 8 日 陆军空军基于SSM整合框架的快速开发技术研
2、究空军熊魏空军江大学长 算机科学学院计 S151班学号:201571390空军1引言空军框架,海军即framework。空军其实就是某种应用的半成品,海军把不同应用程序中有共性的一些东西抽取出来,海军做成一个半成品程序,海军这样的半成品就是所谓的程序框架。空军空军软件系统发展到今天已经很复杂了,海军特别是服务器端软件,海军涉及到的知识、红军内容、红军问题太多,海 军在某些方面使用别人成熟的框架,海 军就相当于让别人帮你 成一些基 作。空 军你 中,海 军 成系统的业务 计,海 军这样 开发就不用 ,海 军 是 在这个基 开 。空军空军使用框架的 红军 复开发 作、红军开发时间、红军开发成,海军
3、同时,海军有其currency1的 ,海 军 红 军使程序 计“合,海 军程序“fifl 。空 军基于这些,海 军基 在在开发中,海军 用某些合的开发框架,海军来帮快速”的开发应用系统。空军空军框架的,海 军就是个框架 合,海 军 开发的 作,海 军开发的” ,海 军有” 的 作,海 军 到 合开发成,海 军取“多的 。空 军面了 一Spring 陆军MVC+Spring+Mybatis 框架。空军空军2.技术架构空军系统 用 spring 整合了Spring 陆军mvcmybatis的3个 级框架技术的 合,海 军即SSM整合框架。空军 用SSM整合框架 开发出 、红军 展、红军 的 业级应
4、用系统。空军,海军 陆军 系统的 。空军SSM框架 2所。空军空军web应用的 、红军复杂 不 级,海军软件架 的复用性、红军 性、红军 展性出了的 。空军课题 用了MVC这一软件架 ,海军 成 实了 的程序 计,海军了程序的 及 展,海 军使 程序的 复 用成 。空 军 外,海 军 了应用程序的复杂 ,海军使程序 “直观。空军基于MVC架 ,海军系统 用SSM框架,海军即Struct2,海 军spring3.0,海 军mybatis框架 合,海 军 用 框架技术 开发” 、红 军程序的复杂 。空军空军空军3 陆军MVC设计模式空军MVC 计 1是一种目前广泛流的软件 计 ,海 军curren
5、cy1把一个应用的各流程按照Model( 型)水军、红军View(视)水军、红军Controller(控制器)水军的方 进 离。空军系统所 用的SSM整合框架就是根据MVC 计 的基 发展 来,海 军其中Struts2就是 用MVC 立来的框架技术,海 军 Struts2正是 与spring、红 军Mybatis进无缝的 成,海 军才 真正发挥MVC 的作用。空军空军空军空军1所MVC 计 的 作View 即是应用程序的用户界面,海 军用户通过View发送请 交到Controller ;红 军Controller 接受请 根据具体 调用Model 来 ,海军再根据Model 调用回来的 果进跳
6、转。空军 知Controller 在整个流程中 到了桥梁的作用,海军控制数据的流向;红军 Model 负责业务 的 数据库访问。空军空军4 陆军Spring 陆军MVC技术研究空军Spring 陆 军Web 陆 军MVC是一种基于Java的实了Web 陆 军MVC 计 的请 驱 类型的 级图1 SSM框架结构图图2 MVC设计模式的工作原理Web框架,海 军即使用了MVC架 的思想,海 军将web 进职责 耦,海 军基于请 驱 指的就是使用请 -响应 型,海军框架的目的就是帮我们开发,海军Spring 陆军Web 陆军MVC也是 我们日常Web开发的。空军空军Spring 陆 军 Web 陆
7、军 MVC也是服务到 作者 的实,海 军但进 优。空 军前端控制器是DispatcherServlet;红 军应用控制器其实拆 器映射器(Handler 陆 军Mapping)水 军进 器管视 析器(View 陆 军Resolver)水 军进视管;红 军页面控制器/ 作/ 器 Controller接口(仅包含ModelAndView 陆 军handleRequest(request, 陆 军response)水 军 陆 军方法)水 军的实(也 是任何的POJO类)水军;红军支持 (Locale)水军 析、红军主题(Theme)水军 析及文件 传 ;红军供了非常灵活的数据验证、红 军格 数据绑f
8、l机制;红 军供了强 的 fl 于配置(惯例优先则)水 军的契 编程支持。空军空军Spring 陆军Web 陆军MVC框架也是一个基于请 驱 的Web框架,海军且也使用了前端控制器 来进 计,海军再根据请 映射 则 发给相应的页面控制器( 作/ 器)水军进 。空军首先让我们整体一Spring 陆军Web 陆军MVC 请 的流程3所 红军空军空军空军具体执步骤 红军空军1、红军首先用户发送请 前端控制器,海军前端控制器根据请 信息(URL)水军来决fl一个页面控制器进 把请 委托给currency1,海 军即 前的控制器的控制 ;红 军3中的1、红军2步骤;红军空军2、红军页面控制器接 到请 ,
9、海军进 ,海军首先 绑fl请 参数到一个象,海军这个象在Spring 陆军Web 陆军MVC中叫命令象,海军进验证,海军然将命令象委托给业务象进 ;红 军 毕返回一个ModelAndView( 型数据 视名)水 军;红 军3中的3、红 军4、红军5步骤;红军空军3、红军 陆 军前端控制器 回控制权,海 军然根据返回的 视名,海 军相应的视进渲 ,海 军把 型数据传 视渲 ;红军3中的步骤6、红军7;红军空军4、红军 陆军前端控制器再 回控制权,海军将响应返回给用户,海军3中的步骤8;红军 整个 。空军空军5 陆军Spring技术研究空军Spring 陆军是一个开 框架,海军是 了 决 业应用程
10、序开发复杂性 的。空军框架的主 优 一就是其 架 ,海 军 架 使用一个 件,海 军同时 陆 军J2EE 陆 军应用程序开发供 成的框架。空军空军图3 Spring MVC 处理流程Spring 陆军框架是一个 架 ,海军 陆军6 陆军个fl 的 成。空军Spring 陆军 在 容器 ,海军 容器fl 了 、红军配置管 陆军bean 陆军的方 。空军空军空军空军空军空军空军其 IOC容器AOP。空军空军4.1 陆军IOC(Inversion 陆军of 陆军Control控制 转,海军 名 )水军空军IOC即 ,海军 用java 的 射机制在时 的 、红军调用象,海军Spring框架就是在的时
11、,海 军根据Spring的applicationContext.xml配置文件来 的 象调用象的方法的,海 军所 使用Spring框架不 用new方法 是通过框架 一个象,海军 在xml文件中bean进fl 。空军Spring发展到3.0,海军不 在xml文件中 个fl bean象,海 军 在调用的文件中使用Autowired来 所调用的象即 ,海 军使开发“ 方 。空军空军4.2 陆军AOP(Aspect-OrientedProgramming,海军面向方面编程)水军空军AOP即面向 面编程,海 军其是 用的 计 ,海 军使用Spring时,海 军开发人 编 的来实AOP,海 军在有了Spr
12、ingAOP的支持,海 军不仅 了开发的 作了开发的” ,海军也强了程序的 性。空军系统中Spring的AOP主 用于务的管。空军空军Spring框架主 用于系统 间的耦合 。空 军其主 技术包currency1控制 转(IOC)水 军面向面编程(AOP)水 军 方面。空 军Spring耦合 的 主 通过IOC来实,海 军IOC是Spring框架的 ,海 军其 程序的所有 件是“ 的,海 军 调用有容器(Spring)水军的负责。空军外Spring供了AOP技术,海军 用AOP 业务 的各个 进离,:日fifl 、红军务 ,海军 使业务 各 的耦合 ,海军程序的 图4 Spring框架架构用性
13、开发” 。空军空军4.3 陆军spring的主 特性。空军空军(1)水军 件 间的耦合 ,海军实软件各 间的 耦。空军空军(2)水军 使用容器供的多服务,海军 红军务管服务、红军息服务、红军JMS服务、红军持服务。空军空军(3)水军容器供例 支持,海军开发人不再 编实。空军空军(4)水军容器供了AOP技术,海军 用currency1很容 实权,海军”控 。空军空军(5)水 军容器供的多作类,海 军使用这些类 快应用的开发,海 军 红 军JdbcTemplate、红 军HibernateTemplate.空军(6)水军主流的应用框架供了 成支持。空军空军6 陆军Hibernate与Mybatis
14、技术研究空军MyBatis是一个基于Java的持 框架。空 军iBATIS供的持 框架包currency1SQL 陆 军MapsData 陆 军Access 陆军Objects(DAO)水军。空军空军MyBatis 陆军是支持通 陆军SQL ,海军 过程级映射的优持 框架。空军MyBatis 陆军了所有的JDBC参数的 置 及 果 的。空军MyBatis 陆军使用的 陆军XML 用于配置 映射,海 军将接口 陆 军Java 陆 军的POJOs(Plain 陆 军Old 陆 军Java 陆 军Objects,海 军通的 陆 军Java象)水军映射成数据库中的fl 。空军空军个MyBatis应用程
15、序主 是使用SqlSessionFactory实例的,海 军一个SqlSessionFactory实例通过SqlSessionFactoryBuilder。空军SqlSessionFactoryBuilder 一个xml配置文件者一个fl 的配置类的实例。空军空军用xml文件 SqlSessionFactory实例是非常的 。空军在这个配置中使用类 (classpath 陆 军resource)水 军,海 军但你 使用任何Reader实例,海 军包currency1用文件 file:/开的url 的实例。空 军MyBatis有一个实用类-Resources,海 军currency1有很多方法,
16、海 军 方 类 及其currency1置 。空军空军6.1 架 空军Mybatis的 架 ,海军5所 红军空军空军空军空军(1)水 军API接口 红 军供给外 使用的接口API,海 军开发人通过这些 API来 数据库。空 军接图4 Mybatis 架构口 一接 到调用请 就 调用数据 来 成具体的数据 。空军空军(2)水军数据 红军负责具体的SQL 、红军SQL 析、红军SQL执执 果映射 。空军currency1主 的目的是根据调用的请 成一 数据库 作。空军空军(3)水军基 支 红军负责 基 的 支 ,海军包currency1 接管、红军务管、红军配置 ,海军这些是共用的东西,海军将 们抽
17、取出来作 基 的 件。空军 的数据 供 基 的支 。空军空军6.2 作流程空军(1)水军 配置 红军配置来 于个 方,海 军一 是配置文件,海 军一 是Java的 ,海 军将SQL的配置信息 成 一个个MappedStatement象(包currency1了传 参数映射配置、红军执的SQL 、红军 果映射配置)水军,海军 在内中。空军空军(2)水 军SQL 析 红 军当API接口 接 到调用请 时,海 军 接 到传 SQL的ID传 象( 是 Map、红 军 JavaBean 者基数据类型)水 军,海 军 Mybatis 根据 SQL 的ID 到应的MappedStatement,海 军然根据传
18、 参数象MappedStatement进 析,海 军 析 到 执的SQL 参数。空军空军(3)水军SQL执 红军将 到的SQL参数 到数据库进执,海军到 作数据库的 果。空军空军(4)水 军 果映射 红 军将 作数据库的 果按照映射的配置进转 ,海 军 转 成HashMap、红 军JavaBean者基数据类型,海军将 果返回。空军空军6.3 SQL 空军MyBatis 陆军 强 的特性 一就是currency1的 。空军果 前有使用JDBC者类 框架的经 ,海 军 就 把SQL 件 接在一 是多 的 ,海 军 不 fl空格者不在columns 面 一个 。空军 决 这些 。空军空军管与 SQL
19、一 作不是在开一个party,海 军但是MyBatis实 通过在任何映射SQL 中使用强 的 SQL来 进这些 。空 军 SQL 于任何使用过JSTL者类 于XML 类的文 器的人来 ,海 军是非常熟 的。空 军在 一 中,海 军 了 学非常多的 ,海军但在MyBatis 陆军3 陆军中有了 多的 进,海军在 不多 一的 。空军MyBatis使用了基于强 的OGNL 来了 。空军空军MyBatis是一个 fl SQL、红军 过程级映射的持 框架。空军 使用的XML 来配置映射基数据类型、红军MAP接口POJO(的JAVA象)水军到数据库fl 。空军相一流的持 框架Hibernate,海 军My
20、Batis是一种半 的ORM(象 系映射)水 军实,海军 进“ 的SQL优 字段。空军 系统主 是数据库的数据进,海 军 且数据 ,海 军 fifl,海 军 SQL 应进“ 的优,海 军所 系统MyBatis作 数据库持 框架。空军空军相Hibernate的 ,海军Mybatis是半 的ORM框架,海军虽然不 “ 开发人时间,海军但是于性 的系统,海军Mybatis SQL 进优,海军 且在有MybatisGenerateCode 插件 具 实 成实体类基的select,海 军insert,delete及update 。空军 了Mybatis与Hibernate在开发复杂 面 距。空军1是使用
21、zakisoft 具HibernateMybatis的执” 进的测试数据,海 军其中执时间 平均数据的执时间,海军insert测试数据 10000 ,海军select、红军delete、红军update 测试均 机、红军删、红军“新一 数据,海军执 数100 。空军空军根据 调研及测试,海军合考虑,海军系统 用Mybatis框架。空军空军7.管理员及权限模块实现空军系统 立,海 军 有超级管一个角色用户,海 军超级管 其 角色,海 军 角色 配不同的权,海军例:web菜角色、红军新闻内容管角色、红军web布局管角色 及文件管 角色。空 军然 web智 管系统的台管用户,海 军 个用户有其应的权
22、角色。空军例拥有菜的权的用户,海军 前台网站菜 配菜应的主页。空军不同角色的管拥有不同的权,海军在很 程 证了前台web系统的安性。空军空军7框架组合空军经过各个框架的研究,海军系统 用SSM框架 合,海军 别取Spring 陆军mvc、红军spring3.0、红军Mybatis各框架中优 进 合,海军实MVC架 。空军取Spring 陆军mvc中的Action 与JSP页面 间的交互响应、红 军器,海 军过滤器 作 view controller ;红 军Mybatis作 model ,海 军负责实例、红 军JDBC 接 及数据持 的 ;红 军Spring作 一个 级的框架,海 军 用其 I
23、OC、红军AOP、红军Test,海军其中,海军IOC 翻转用来 接各个 间象,海军各个象 间调用;红 军 于基于 射及 的面向 面编程开销 ,海 军系统中 用来进务管,海 军负责务的回滚机制,海 军Spring的Test机制使测试变不再复杂,海 军 用非容器 的编程方 进 测试 作,海 军 外Spring担当MVC各个 间的无缝 接 作,海 军否则即使各个框架很优也无法发挥出其 的作用。空军空军在SSM整合框架中,海军 一个框架发挥 擅长的方面: 陆军Spring 陆军mvc 于 与 的耦合 ,海 军在视 控制 发挥作用;红 军Spring作 整个框架的 ,海 军 到了桥梁的作用,海 军业务
24、的 深,海 军在业务 通过其IOC技术的象 AOP技术的务 离,海 军“深 的了耦合程 ;红 军MyBatis框架主 负责Java象 系数据库 间的映射,海军在数据持 供数据的访问。空军通过应用SSM整合框架,海军 将整个系统开发的 2所。空军空军空军空军空军空军3.1框架 合实空军通过web.xml,海军Structs.xml,海军applicationContext.xml,海军mybatis-config.xml这个配置文件 web系统的整体框架,海军使 符合MVC架 。空军空军web.xml文件中通过context-param配置了Spring的 文置,海军通过listener配置,海
25、军通知容器 Spring及Struct2的配置文件。空 军Structs.xml主 是页面交的请 及Action返回的页面进应。空 军applicationContext.xml是Spring的配置文件,海 军其中,海 军 实使用annotation 册bean,海 军Required,海军Autowired的属性是否已经“ 。空军空军使用AOPfl 了务,海 军了 get,海 军find,海 军select方法名开的方法外,海 军其 service 的方法均有回滚机制,海军 证了务的子性、红军一 性、红军持性。空军 外配置了mybatis文件置 及数据库的相 信息,海军将业务 数据 离联系
26、来。空军mybatis-config.xml文件中配置了MAPPER的 方 ,海军系统中 用非懒汉 ,海军即在系统 时 所有的MAPPER文件,海军防止出 发问题。空军经过编各配置文件 合3个框架,海军 成了系统的整体架的 。空军空军SSM框架的 合 别是Spring 陆军mvc、红军Spring3.0、红军MyBatis,海军 者 合实MVC架 。空军Spring 陆军mvc的主 是使用action 与JSP页面进交互。空军Mybatis是半 的ORM框架,海军负责数据持 的 ,海 军 SQL 进 优,海 军且 使用插件实 成实体类及基的 。空军Spring IOC 转各个 间的象,海军象的
27、调用。空军空军SSM框架在Web应用系统开发中具有 优 :空军(1)水军系统开发” 。空军框架 供”的 件视 ,海军 且 配置文件的方 fl程序 。空 军 变仅 控制 的配置文件,海 军无 底 框架的实,海 军 系统开发” 。空军空军(2)水军 间相互独立。空军SSM框架具有耦合内聚 的特点。空军 计人 按 将系统划 不同的 ,海军 间相互独立,海军 个 的 不影响其 。空军空军(3)水 军角色 离。空军框架 开发者供不同的接口,海 军前端页面 计人 JSP页面的 计,海军台 开发者业务 开发程序。空军前端台的人相互独立,海军互不影响。空军空军(4)水军开发周,海军项目开发成。空军框架 用于各
28、种类型开发人协同 作,海军了开发人知识技 的 ,海军 快了开发速 。空军空军8结束语空军文章 合校项目管的特点,海军出 用Strut2、红军Spring、红军Mybatis 者整合框架SSM的 计思想,海 军 计实了校项目管系统。空 军根据项目实际开发过程与 果,海 军SSM框架很 的了项目开发的耦合 ,海 军实 、红 军业务 与数据 的 离,海 军使系统开发过程“合,海 军系统开发的 展性 性。空 军系统已通过测试,海 军在广西 学投 使用,海军fifl、红军”果 。空军空军图6 SSM 框架结构空军9 陆军参考文献空军1 张俊萍;水 军朱小冬;水军侯娜;水 军张鲁;水军梁欣;水 军;水 军
29、基于SSM的软件体系 开发过程研究J;水 军计算机测与控制;水军2011年08空军2 谌湘倩;水 军狄文辉;水 军孙冬;水 军;水 军基于SSH框架与AJAX技术的JavaWeb应用开发J;水 军计算机 程与计;水军2009年10空军3 任晓鹏;水军赵文兵;水军张春平;水军;水军基于框架的Web系统开发研究J;水军计算机 程与 计;水军2010年04空军4 王艳清;水 军陈红;水 军;水 军基于SSM框架的智 web系统研发 计J;水 军计算机 程与 计;水 军2012年12空军5 王钱;水 军王蓉;水 军张 ;水 军;水 军基于iBatis的通用数据持 的研究与 计J;水 军微计算机信息;水
30、 军2007年12空军6 刘军;水 军戴金山;水 军;水 军基于Spring 陆 军MVC与iBATIS的 级Web应用研究J;水 军计算机应用;水 军2006年04空军7 吴fi霞;水 军陈平;水 军;水 军基于S2SH的在线项目管平台的 计与实J;水 军计算机与;水 军2011年08空军8 谌湘倩;水 军狄文辉;水 军孙冬;水 军;水 军基于SSH框架与AJAX技术的JavaWeb应用开发J;水 军计算机 程与计;水军2009年10空军9 祝世东;水 军基于MVC 计 的Struts框架在 材测系统中的研究与应用D;水 军沈阳 学;水军2010年空军10周永来;水军基于复用的Java 陆军EE快速Web开发架 的研究与应用D;水军华北电 学(北京)水军;水军2008年空军11邓斯红;水军基于AJAXSSH 成框架的国有 管系统D;水军北京 学;水军2010年空军12张春华;水军基于MVC 的Struts框架的研究与应用D;水军吉林 学;水军2010年空军空军