Java EE轻量级框架应用实战-SSM框架(Spring MVC+Spring+MyBatis)(第2版)课件 第13、14章 SSM框架整合、百货中心供应链管理系统_第1页
Java EE轻量级框架应用实战-SSM框架(Spring MVC+Spring+MyBatis)(第2版)课件 第13、14章 SSM框架整合、百货中心供应链管理系统_第2页
Java EE轻量级框架应用实战-SSM框架(Spring MVC+Spring+MyBatis)(第2版)课件 第13、14章 SSM框架整合、百货中心供应链管理系统_第3页
Java EE轻量级框架应用实战-SSM框架(Spring MVC+Spring+MyBatis)(第2版)课件 第13、14章 SSM框架整合、百货中心供应链管理系统_第4页
Java EE轻量级框架应用实战-SSM框架(Spring MVC+Spring+MyBatis)(第2版)课件 第13、14章 SSM框架整合、百货中心供应链管理系统_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SSM框架整合思路XML文件整合SSM框架纯注解整合SSM框架第13章

SSM框架整合2024/1/29学习目标/Target了解SSM框架的整合思路

熟悉SSM框架整合时的配置文件内容掌握SSM框架整合应用程序的编写2章节概述/Summary对于JavaEE应用程序的开发,行业中提供了非常多的技术框架,但是不管如何进行技术选型,JavaEE应用都可以分为表现层、业务逻辑层和数据持久层,当前,这3个层的主流框架分别是SpringMVC、Spring和MyBatis,简称为SSM框架,JavaEE应用程序也经常通过整合这3大框架来完成开发。SSM框架的整合有多种方式,本章将对常用的整合方式和纯注解的整合方式来对SSM框架的整合进行讲解。3目录/CONTENTSSSM框架整合思路纯注解整合SSM框架XML文件整合SSM框架1324SSM框架整合思路01第13章SSM框架整合如何进行SSM框架整合?整合思路

由于SpringMVC是Spring框架中的一个模块,所以SpringMVC与Spring之间不存在整合的问题,只要引入相应JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring与MyBatis的整合,以及SpringMVC与MyBatis的整合。6SSM框架整合时三层架构的分工

进行SSM框架整合时,3个框架的分工如下所示。

MyBatis负责与数据库进行交互。

Spring负责事务管理,Spring可以管理持久层的Mapper对象及业务层的Service对象。由于Mapper对象和Service对象都在Spring容器中,所以可以在业务逻辑层通过Service对象调用持久层的Mapper对象。

SpringMVC负责管理表现层的Handler。SpringMVC容器是Spring容器的子容器,因此SpringMVC容器可以调用Spring容器中的Service对象。

整合思路7整合思路SSM框架整合图如下所示:

在前面讲解Spring与MyBatis框架的整合时,我们是通过Spring实例化Bean,然后调用实例对象中的查询方法来执行MyBatis映射文件中的SQL语句的,如果能够正确查询出数据库中的数据,那么我们就认为Spring与MyBatis框架整合成功。同样,整合之后,如果我们可以通过前台页面来执行查询方法,并且查询出的数据能够在页面中正确显示,那么我们也可以认为三大框架整合成功。如何确定SSM框架整合成功?8SSM框架整合系统架构设计SSMORM:MyBatis框架SpringCore:基于IoC和AOP的处理方式统一管理所有的JavaBeanWeb框架:SpringMVC数据存储:MySQL前端框架:JSPjQuery框架HTML5、CSS39XML文件

整合SSM框架02第13章SSM框架整合SSM框架整合实现思路

下面通过一个用户信息查询案例来描述SSM框架的整合,案例实现思路如下。

搭建项目基础结构。首先需要在数据库中搭建项目对应的数据库环境;然后创建一个MavenWeb项目,并引入案例所需的依赖;最后创建项目的实体类,创建三层架构对应的模块、类和接口。

整合Spring和MyBatis。在Spring配置文件中配置数据源信息,并且将SqlSessionFactory对象和Mapper对象都交由Spring管理。

整合Spring和SpringMVC。SpringMVC是Spring框架中的一个模块,所以Spring整合SpringMVC只需在项目启动时分别加载各自的配置即可。整合思路11搭建项目基础结构12步骤1搭建数据库环境步骤2引入项目依赖步骤3创建实体类步骤4创建三层架构对应模块的类和接口STEP01STEP02STEP03STEP04(1)Spring相关依赖。spring-context:Spring上下文;spring-tx:Spring事务管理;spring-jdbc:SpringJDBC;spring-test:Spring单元测试;spring-webmvc:SpringMVC核心。(2)MyBatis相关依赖。mybatis:MyBatis核心;(3)MyBatis与Spring整合包。mybatis-spring:MyBatis与Spring整合。

(4)数据源相关。druid:阿里提供的数据库连接池。(5)单元测试相关的依赖。junit:单元测试,与spring-test放在一起做单元测试。(6)ServletAPI相关的依赖。jsp-api:jsp页面使用request等对象;servlet-api:java文件使用request等对象。(7)数据库相关的依赖。mysql-connector-java:mysql的数据库驱动包。

引入项目依赖13

Spring和MyBatis的整合可以分为2步来完成,首先搭建Spring环境,然后整合MyBatis到Spring环境中。框架环境包含框架对应的依赖和配置文件,其中Spring的依赖、MyBatis的依赖、Spring和MyBatis整合的依赖,在项目基础结构搭建时候已经引入到项目中了,接下来,只需编写Spring的配置文件、Spring和MyBatis整合的配置文件即可。

整合Spring和MyBatis14步骤1

Spring的配置文件步骤2

Spring和MyBatis整合的配置步骤3整合测试STEP01STEP02STEP03Spring的配置文件

在项目的src\main\resources目录下创建配置文件application-service.xml,用于配置Spring对Service层的扫描信息。application-service.xml具体代码如下所示。

<beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"...><!--开启注解扫描,扫描包--><context:component-scanbase-package="cn.dsscm.service"/></beans>整合Spring和MyBatis15Spring和MyBatis整合的配置

Spring和MyBatis的整合包中提供了一个SqlSessionFactoryBean对象,该对象的Bean需要注入数据源,也可以根据需求在SqlSessionFactoryBean的Bean中配置MyBatis核心文件路径、别名映射和Mapper映射文件路径。在项目的src\main\resources目录下创建数据源属性文件perties,perties配置的数据源信息如下所示。

jdbc.driverClassName=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghaijdbc.username=rootjdbc.password=123456整合Spring和MyBatis16整合测试在项目的src\main\test目录下的java文件夹中,创建测试类,用于对Spring和MyBatis的整合进行测试。

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:application-service.xml","classpath:application-dao.xml"})publicclassUserServiceTest{ @Autowired privateUserServiceuserService; @Test publicvoidfindUserById(){ Useruser=userService.findUserById(1); System.out.println(user); }}整合Spring和MyBatis17结果测试运行测试方法findUserById(),方法运行后控制台打印信息如图所示。整合Spring和MyBatis18从图中的信息可以看出,程序输出了id为1的用户信息。这表明测试类中成功装配了UserService对象,UserService对象成功调用Service层的findUserById()方法,Service层的findUserById()方法成功调用Dao层的findUserById()方法完成了数据查询,说明Spring和MyBatis已经整合成功。Spring的配置

之前Spring和MyBatis整合时,已经完成了Spring的配置文件,Spring和SpringMVC整合,只需在项目启动时加载Spring容器和Spring的配置文件即可。在项目的web.xml文件中配置Spring的监听器来加载Spring容器及Spring的配置文件,具体配置如下所示。

<context-param>

<param-name>contextConfigLocation</param-name><param-value>classpath:application-*.xml</param-value></context-param><listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>整合Spring和SpringMVC19Spring

MVC的配置

本案例主要测试SSM整合的情况,因此在SpringMVC的配置文件中只配置SSM整合案例必须的配置。必须配置的项有以下2个。

配置包扫描,指定需要扫描到SpringMVC中的Controller层所在的包路径。

配置注解驱动,让项目启动时启用注解驱动,并且自动注册HandlerMapping和HandlerAdapter。

在项目的src\main\resources目录下创建SpringMVC的配置文件spring-mvc.xml。Spring-mvc.xml文件配置完成之后,在web.xml中配置SpringMVC的前端控制器,并在初始化前端控制器时加载SpringMVC的配置文件。

整合Spring和SpringMVC20SSM框架整合测试接下来,通过在页面查询用户信息来测试SSM框架的整合情况。在项目的src/main/webapp目录下创建名称为user的JSP文件,用于展示处理器返回的用户信息。….<tableclass="tabletable-hover"><thead><tr><th>用户编号</th><th>用户姓名</th><th>用户编码</th><th>生日</th><th>性别</th></tr></thead><tbody><tr><td>${user.id}</td><td>${user.userName}</td><td>${user.userCode}</td><td>${user.birthday}</td><td>${user.gender}</td></tr></tbody></table>……整合Spring和SpringMVC21结果测试将项目部署到Tomcat中,启动项目,在浏览器中访问地址http://localhost:8888/user?id=1来进行用户查询,页面显示效果如图所示。整合Spring和SpringMVC22从图中所示的信息可以看出,程序成功查询到了id为1的用户信息。这表明Controller层成功将Service层获取的用户信息返回给页面,由此说明SSM框架整合成功。纯注解

整合SSM框架03第13章SSM框架整合application-dao.xml

application-dao.xml配置文件中配置的内容包含以下4项。

读取perties文件中的数据连接信息。

创建Druid对象,并将读取的数据连接信息注入到Druid数据连接池对象中。

创建SqlSessionFactoryBean对象,将并将Druid对象注入到SqlSessionFactoryBean对象中。

创建MapperScannerConfigurer对象,并指定扫描的Mapper的路径。

整合思路

24application-service.xml和spring-mvc.xml

application-service.xml配置文件中只配置了包扫描,指定需要扫描到Spring的Service层所在的包路径。spring-mvc.xml配置文件中配置了SpringMVC扫描的包路径和注解驱动。

整合思路

25web.xml

web.xml配置文件配置了项目启动时加载的信息,包含如下3个内容。

使用<context-param>元素加载Spring配置文件application-service.xml和Spring整合Mybatis的配置文件application-dao.xml。Spring容器加载监听器。

配置SpringMVC的前端控制器。整合思路

26纯注解SSM框架整合27步骤1编辑JdbcConfig.java步骤2编辑MyBatisConfig.java步骤3编辑SpringConfig.java步骤4编辑SpringMvcConfig.java步骤5编辑ServletContainersInitConfig步骤6

SSM框架整合测试STEP01STEP02STEP03STEP04STEP05STEP06AbstractAnnotationConfigDispatcherServletInitializer抽象类重写AbstractAnnotationConfigDispatcherServletInitializer抽象类的3个方法。

getRootConfigClasses()方法:将Spring配置类的信息加载到Spring容器中。

getServletConfigClasses()方法:将SpringMVC配置类的信息加载到SpringMVC容器中。

getServletMappings()方法:可以指定DispatcherServlet的映射路径。

纯注解SSM框架整合

28结果测试将项目部署到Tomcat中,启动项目,在浏览器中访问地址http://localhost:8888/user?id=1来进行用户查询,页面显示效果如图所示。整合测试29从图中所示的信息可以看出,程序成功查询到了id为1的用户信息。这表明Controller层成功将Service层获取的用户信息返回给页面,由此说明SSM框架整合成功。本章小结

本章主要讲解了SSM框架的整合知识。首先对常用方式整合SSM框架进行了讲解,包括项目基础结构搭建、Spring和MyBatis整合、Spring和SpringMVC整合;然后讲解了纯注解方式整合SSM框架。通过本章的学习,读者将能够了解SSM框架的整合思路,掌握SSM框架的整合过程。SSM框架的整合是SSM框架使用的基础,读者一定要多加练习,并熟练掌握。本章小结30问题及作业集中问题&课后作业项目介绍需求分析系统设计系统环境搭建应用案例第14章

百货中心供应链管理系统2024/1/29学习目标/Target33了解百货中心供应链管理系统架构

了解百货中心供应链管理系统的文件组织结构

熟悉系统环境搭建步骤

掌握用户登录模决功能的实现步骤

掌握用户管理模块功能的实现步骤章节概述/Summary34本章将通过前面章节学习的SSM(SpringMVC+Spring+MyBatis)框架知识来实现一个简单的百货中心供应链管理系统。百货中心供应链管理系统在SSM框袭整合的基础上实现了系统功能。目录/CONTENTS项目介绍系统环境搭建系统设计需求分析35应用案例14325项目介绍01第14章百货中心供应链管理系统项目介绍37百货中心供应链管理系统是一个B/S架构的信息管理平台,供应链管理主要涉及4个领域:供应、生产计划、物流、需求。职能领域主要包括产品工程、产品技术保证、采购、生产控制、库存控制、仓储管理、分销管理。经过对系统的深入分析,采购系统需实现以下功能模块,各个模块实现的功能如下。1.用户登录对用户输入的用户名和密码进行匹配,只有合法的用户才可以登录成功,进入主界面进行操作。2.供应商管理灵活管理供货商,可及时添加及修改供货商信息,为采购计划的制订提供保障。3.商品管理对商品进行管理,管理商品种类及库存,可及时了解库存的信息,有助于做出正确的采购选择。4.订单管理系统设计了多种订单(采购订单和销售订单),不同权限的操作员只能对其拥有权限操作的订单进行操作。5.信息查询根据关键字快速检索信息。6.新闻管理发布各类新闻信息。需求分析02第14章百货中心供应链管理系统系统功能分析39将系统用户分成5类不同的用例,系统应根据用例的不同职能实现不同的功能,经过分析,系统应具备人事管理、合作公司管理、采购订单管理、库存管理、销售管理、经营统计这6大功能模块。1.经理经理是百货中心的最高负责人之一,负责百货中心大部分的业务管理及监督工作,必要时也可以完成所有其他用例的操作,地位相当于系统管理员,具有最高权限。2.人事部员工人事部员工主要操作系统的人事管理模块,同时也可以进入经营统计模块进行查看。3.采购部员工采购部员工主要负责操作系统的合作公司管理模块和采购订单管理模块,同时也可以进入经营统计模块进行查看。4.物资部员工销售部员工主要负责操作系统的库存管理模块,同时也可以进入经营统计模块进行查看。5.销售部员工销售部员工主要负责操作系统的销售管理模块,同时也可以进入经营统计模块进行查看。功能模块需求分析40系统界面简洁大方,使用简便,并有友好的操作提示信息。系统具有一定的安全性,避免恶意操作对系统及数据造成损害。贴近实际用户的工作情况,对一些关键数据提供打印、保存功能。系统应具备登录、人事管理、合作公司管理、采购订单管理、库存管理、销售管理、经营统计这7大功能。系统设计03第14章百货中心供应链管理系统百货中心供应链管理系统——系统结构设计42总体功能模块百货中心供应链管理系统用户登录用户登录登录验证用户退出用户管理查询用户搜索条件查询分页査询添加用户修改用户删除用户用户权限管理添加用户权限修改用户权限删除用户权限供应商管理查询供应商搜索条件查询分页査询添加供应商修改供应商删除供应商商品管理查询商品搜索条件查询分页査询添加商品修改商品删除商品商品类别管理查询商品类别添加商品类别删除商品类别采购订单管理查询采购订单搜索条件查询分页査询添加采购订单修改采购订单删除采购订单销售订单管理查询销售订单搜索条件查询分页査询新闻管理查询新闻搜索条件查询分页査询添加新闻修改新闻删除新闻演示:课堂贯穿案例(百货中心供应链管理系统)百货中心供应链管理系统——系统子模块功能介绍43用户登录模块用户通过输入用户名和密码登录系统,如果输入错误则返回登录界面,成功登录后用户的信息会存储在浏览器中,系统会根据这些信息判断该用户的操作权限。用户管理模块管理员用户可以在此模块中查看公司员工的权限类型,也可以根据需要添加、修改、删除员工信息和用户权限管理模块。其中,员工权限管理模块包括管理员用户可以在此模块中查看公司员工权限类型,也可以根据需要添加、修改、删除员工信息。供应商管理模块已经登录的符合权限的用户可以在此模块中查看合作公司信息,并且可以根据需要添加、修改、删除合作公司信息。采购订单管理模块已经登录的符合权限的用户可以在此模块中查看采购订单信息,并且可以根据需要添加、修改、删除采购订单信息。商品管理模块已经登录的符合权限的用户可以在此模块中查看商品库存信息,并且可以根据需要添加、修改、商品库存信息。销售订单管理模块已经登录的符合权限的用户可以在此模块中查看商品销售信息,并且可以根据需要添加商品销售信息。新闻管理模块发布各类新闻信息、促销信息。百货中心供应链管理系统——系统架构设计44百货中心供应链管理系统——文件组织结构45配置类Controller类DAO层Mapper接口自定义拦截器持久化实体类Service层接口工具类MyBatis映射xml文件拦截器忽略地址配置文件数据库连接信息配置文件日志配置文件依赖配置文件静态文件css样式文件字体图标文件图片素材JavaScript脚本文件jsp页面web.xml配置文件百货中心供应链管理系统——系统开发及运行环境46百货中心供应链管理系统开发环境如下。操作系统:Windows10。Web服务器:Tomcat8.5.24。Java开发包:JDK8。开发工具:IntelliJIDEA2020.1数据库:MySQL8.0.30浏览器:GoogleChrome107.0.5304.88(正式版本)(64位)。百货中心供应链管理系统——数据库设计47数据库设计表用户表(表名:tb_user)用户权限表(表名:tb_role)供应商表(表名:tb_provider)商品类别表(表名:tb_product_category)商品表(表名:tb_product)采购订单表(表名:tb_bill)销售订单表(表名:tb_order)销售订单关联表(表名:tb_order_detail)新闻表(表名:tb_news)逻辑外键关联演示:数据库表结构系统环境搭建04第14章百货中心供应链管理系统需要引入的依赖49系统需引入三大框架的依赖

由于管理系统基于SSM框架和Maven开发,因此需要在项目中引入这三大框架的依赖。此外,项目中还涉及到数据库连接、JSTL标签等,因此还要引入数据库连接、JSTL标签等其他依赖。整个系统所需要引入的依赖如下所示。

需要引入的依赖50Spring、Spring

MVC、MyBatis框架相关的依赖Spring框架相关的依赖:spring-context(Spring上下文);spring-tx(Spring事务管理);spring-jdbc(SpringJDBC)。SpringMVC框架相关的依赖:spring-webmvc(SpringMVC核心)。MyBatis框架相关的依赖:mybatis(MyBatis核心)。需要引入的依赖51分页插件、MyBatis与Spring整合、数据库、ServletAPI相关的依赖分页插件相关的依赖:pagehelper(分页插件)。MyBatis与Spring整合的依赖:mybatis-spring(MyBatis与Spring整合)。数据库驱动依赖:mysql-connector-java(mysql的数据库驱动)。数据源相关依赖:druid(阿里提供的数据库连接池)。ServletAPI相关的依赖:jsp-api(jsp页面使用request等对象)servlet-api(java文件使用request等对象)。需要引入的依赖52JSTL标签库、

Jackson相关的依赖JSTL标签库相关依赖:jstl(jsp标准标签库);taglibs(taglibs指令);Jackson相关依赖:jackson-core(jackson核心);jackson-databind(jackson数据转换);jackson-annotations(jackson核心注解)。

准备数据库资源53通过SQL命令导入sql文件

通过MySQL8.0CommandLineClient登录数据库后,创建一个名称为dsscm的数据库。通过SQL命令将书的资源中提供的dsscm.sql文件导入到dsscm数据库中,即可导入百货中心供应链管理系统所使用的全部数据。准备项目环境54步骤1

创建项目,引入依赖步骤2

编写配置文件和配置类步骤3

引入页面资源STEP01STEP02STEP03应用案例05第14章百货中心供应链管理系统整合应用测试56

上一小节已经完成了SSM框架整合环境的搭建工作,可以说完成了这些配置后,就已经完成了这三个框架大部分的整合工作。接下来,同样以用户登录系统为例,来讲解下SSM框架的整合开发。使用SSM框架实现登录、注销57需求说明在SSM框架上系统的登录和注销功能要求对访问系统的所有请求(注:登录请求除外)进行身份验证以确保系统数据的安全性创建自定义拦截器——SysInterceptor.java继

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论