SSM整合(一)

2023-05-16

每一个框架在SSM中担任的角色

例如 SpringMVC 是表述层框架,用来处理我们浏览器发送到服务器的请求,并且将数据反应到浏览器
Mybatis是一个持久层框架,帮助我们来连接数据库,访问数据库,以及操作数据库
Spring是一个整合型框架,利用两个主要的核心AOP和IOC
通过 IOC来管理对象,例如Mybatis中操作数据库的SqlSession对象,就可以直接交给Spring来管理,来利用Mybatis操作数据库的时候需要实现事务操作,那么可以利用AOP中的声明事务的操作来实现

SpringMVC和Spring不整合就是说把两者创建同一个IOC容器,此时需要用Spring的配置文件来进行创建,故需要将二者的配置文件放在同一个配置文件下
若整合,则是各自来管理各自的组件,即 SpringMVC创建他的IOC容器来管理他创建的组件(一般是控制层组件),Spring
就把其余的组件进行管理,然后放在另一个IOC容器(Service组件),且在controller中需要使用service组件故知:
SpringMVC的IOC容器是在DispatcherServlet初始化的时候进行创建的
Spring的IOC容器是在 SpringMVC的IOC容器 之前也就是DispatcherServlet初始化之前进行创建的

1.ContextLoaderListener

Servlet Filter Listener 三个主要组件的执行顺序,

Listener > Filter > Servlet

Spring提供了监听器ContextLoaderListener,实现ServletContextListener接口 包含一个初始化方法,一个摧毁方法,这个初始化方法监听到服务器启动的时候,这个初始化的方法就会执行,可监听ServletContext的状态,一个初始化方法,一个摧毁方法,用来监听当前服务器的开启和关闭,在服务器开启时去创建Spring 的一个IOC容器,在SpringMVC的获取IOC容器的时候来进行对内部的controller进行service组件的一个自动装配。当然还包括 HttpSessionListener 和HttpSessionListenerAttribute 用来监听HttpSession对象
在web服务器的启动,读取Spring的配置文件,创建Spring的IOC容器。

在初始化的时候有个设置父容器, war.setParent(parent)
则SpringMVC IOC是子容器和Spring 是父容器 子容器可以访问到父容器的bean,相反不行

web应用中必须在web.xml中配置

<listener>
 <!--配置Spring的监听器,在服务器启动时加载Spring的配置文件
   Spring配置文件默认位置和名称:/WEB-INF/applicationContext.xml
   可通过上下文参数自定义Spring配置文件的位置和名称-->
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!--自定义Spring配置文件的位置和名称-->
<context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring.xml</param-value>
</context-param>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSM整合(一) 的相关文章

随机推荐