博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM应用(六)--SSM集成
阅读量:5321 次
发布时间:2019-06-14

本文共 2411 字,大约阅读时间需要 8 分钟。

整合分析

  首先,我们先来回顾一下Spring,SpringMVC,MyBatis这三个框架各自做了什么;

  Spring:用于实现bean的实例化和bean与bean之间的管理;

    在SSM集成中,将各层进行整合,管理MyBatis、Service、SpringMVC;

  SpringMVC:取代了servlet,用于分发请求给bean的实例;

    在SSM集成中,用于管理请求分发的bean;

  MyBatis:取代了JDBC,用于实现dao层,对数据进行操作;

    在SSM集成中,推荐使用代理模式,Spring会生成MyBatis接口中的代理实现类;

 

整合步骤

  1、将每一层的类变成Spring中的实例;

  2、建立每一层中类的关系;

  

    工程目录结构:

  

  3、整合dao层:扫描mapper接口生成代理实现类的bean;

   (1)、将MyBatis的代理实现类变成Spring中的bean;

    会用到MapperScannerConfigurer类扫描包,将包中的接口和mapper映射文件关联起来生成代理对象;

   (2)、需要Spring管理SqlSessionFactory对象和DataSource对象

  

  4、整合service层:扫描service包,将有注解的service实现类变成bean,实现事务控制;

   (1)、将service的实现类变成Spring中的bean;我们可以通过配置文件和注解的方式实现;

    基于配置文件配置bean

      在service层中,注意要实现dao层的get,set方法

public class AuthorServiceImpl implements AuthorService {    AuthorDao dao;    public AuthorDao getDao() {        return dao;    }    public void setDao(AuthorDao dao) {        this.dao = dao;    }}

    基于注解方式实现:

      同样,要实现dao层的get,set方法;

@Service("authorService")public class AuthorServiceImpl implements AuthorService {        @Resource    AuthorDao dao;    public AuthorDao getDao() {        return dao;    }    public void setDao(AuthorDao dao) {        this.dao = dao;    }}

  

  5、整合SpringMVC:本质就是一个Spring,自己是一个servlet的存在,将controller类变成它管理的实例;

   (1)、在web.xml文件中配置SpringMVC为一个servlet

springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/springMVC.xml
springMVC
*.action

   (2)、配置SpringMVC的核心配置文件:controller的实例bean、视图解析的bean;

  

  6、在这里,我们把核心配置文件按照层的关系分成了不同的配置文件,那么要怎么才能把他们关联起来。在程序运行时同时解读呢?

    所以我们就需要用到Spring提供的监听器了,将配置的所有bean和bean之间的关系管理起来

    我们需要在web.xml中配置监听器;

contextConfigLocation
classpath:spring/applicationContext-*.xml
org.springframework.web.context.ContextLoaderListener

  SSM集成到此也就结束了,希望能对大家有所帮助;

 

PS:因作者能力有限,如有误还请谅解;

转载于:https://www.cnblogs.com/WHL5/p/9013689.html

你可能感兴趣的文章
linux的子进程调用exec( )系列函数
查看>>
TFS Instructions
查看>>
MSChart的研究
查看>>
[LeetCode] Intersection of Two Arrays II 两个数组相交之二
查看>>
C# 服务的安装、卸载、启动、停止操作
查看>>
C# 索引器
查看>>
MySQLdb & pymsql
查看>>
zju 2744 回文字符 hdu 1544
查看>>
XmlDocument
查看>>
delphi 内嵌汇编例子
查看>>
SQL server 2012 安装SQL2012出现报错: 启用 Windows 功能 NetFx3 时出错
查看>>
【福音】开发者可接入微信公众平台设备功能了
查看>>
springCloud学习-消息总线(Spring Cloud Bus)
查看>>
centos7 自动备份 mysql
查看>>
用JS判断两个数字的大小
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>
CVE-2012-0158 分析
查看>>
Git提交代码冲突:commit your changes or stash them before you can merge.
查看>>
OpenCV —— 直方图与匹配
查看>>
简单查看tomcat中部署java服务的内存使用情况
查看>>