博文引用:

SSM框架主要配置文件及服务器加载配置文件顺序

SSM框架是由Spring、SpringMVC、MyBatis三个开源框架组成的,在本人当下的理解中主要用于开发web项目。要使用SSM框架首先需要导入相应的包(具体的包请自行检索),接着开始编写配置文件。

编写配置文件的过程稍微有点复杂,但是配置好之后以后就可以重复利用。主要的配置文件有:web.xml(自动生成,在WEB-INF下),applicationContext.xml(spring配置文件,文件名可能不同,以自己的文件名为准),springMVC.xml,Mapper.xml文件(操作数据库的配置文件)。

执行一个使用SSM框架搭建的javaWEB工程时,服务器加载顺序如下:

1.读取web.xml配置文件

<context-param><!-- 根据指定的路径区读取spring配置文件。 --><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value>
</context-param>

注意: 此时服务器会去加载spring配置文件,暂停本段配置之后的代码执行;

2、加载spring配置文件,applicationContext.xml中的主要配置如下:
(1)、只要导入了相应的包,这一段配置不变

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
">

(2)、自动扫描base-package对应的路径下面的java文件,如果扫描到文件中带有@Service,@Component,@Repository,@Controller等这些注解的类,则把这些类注册为bean

<context:component-scan base-package="com.sun.*"></context:component-scan>

(3)、配置数据源,操作数据库的配置

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="driverClassName" value="com.mysql.cj.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=CST" /><property name="username" value="root" /><property name="password" value="123456" /><property name="defaultAutoCommit" value="false" />
</bean>

(4)、sqlSessionFactory配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource"/><!-- 配置MyBatis全局配置文件:mybatis-config.XML --><property name="configLocation" value="classpath:mybatis-config.xml"/><!-- 扫描entity包 使用别名 --><property name="typeAliasesPackage" value="com.sun.seckill.entity"/><!-- 扫描sql配置文件:mapper需要的xml文件 --><property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>

(5)、配置扫描dao接口包,动态实现dao接口,并注入到spring容器中

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><!-- 给出扫描dao接口包 自动生成sqlSessionFactory去执行sql语句--><property name="basePackage" value="com.sun.seckill.dao"/>
</bean>

(6)、事务配置,即事务管理器作用是对一系列的数据库操作进行统一的自动的提交和回滚操作

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" ></property>
</bean><tx:annotation-driven transaction-manager="transactionManager"/>

(7)、AOP配置,执行日志文件等操作

<aop:config><aop:pointcut expression="execution(* com.sun.service.*.*(..))" id="text" /><aop:advisor advice-ref="xx" pointcut-ref="text" />
</aop:config>

至此spring配置文件加载完成,服务器回到web.xml文件中进行后续的执行。

3.回到web.xml配置文件

继续按顺序从上到下加载。加载监听器;加载过滤器;加载前端控制器(即servlet或者springMVC),前端控制器中的1配置决定了前端控制器是否在容器启动时就加载,若其值大于等于0则在容器启动时加载,小于零或不设置时则不在容器启动时加载。若要在容器(服务器Tomcat)启动时就加载前端控制器,则此时暂停web.xml的加载,先去加载springMVC。

4.加载springMVC配置文件

在web.xml配置文件加载前端控制器时根据其中的相关配置加载springMVC配置。加载控制器(第二步中未加载),自动实例化相关类以便之后直接使用不用new(controller和servse),加载视图解析器,完成springMVC配置文件的加载。

5.回到web.xml文件

继续进行后续加载,若无后续则完成整个项目的加载。

SSM框架配置文件加载流程相关推荐

  1. Mybatis 源码分析(一)配置文件加载流程

    Mybatis 源码分析(一)配置文件加载流程 1.项目构建 引入依赖 <dependency><groupId>org.mybatis</groupId>< ...

  2. spring配置文件加载流程

    转自:http://silmon.javaeye.com/blog/283515 Spring配置文件是集成了Spring框架的项目的核心,引擎从哪里开始,中间都执行了哪些操作,小谈一下它的执行流程. ...

  3. Spring框架—SpringBean加载过程

    原文作者:RunAlgorithm 原文地址:图文并茂,揭秘 Spring 的 Bean 的加载过程 1. 概述 Spring 作为 Ioc 框架,实现了依赖注入,由一个中心化的 Bean 工厂来负责 ...

  4. Dubbo(十)之配置加载流程

    转载自  Dubbo配置加载流程 Dubbo 中的配置加载流程介绍 此篇文档主要讲在应用启动阶段,Dubbo框架如何将所需要的配置采集起来(包括应用配置.注册中心配置.服务配置等),以完成服务的暴露和 ...

  5. Android 系统(169)---Android 7.0 插卡后APN信息的加载流程

    Android 7.0 插卡后APN信息的加载流程.UI界面编辑APN的流程及Android中APN配置相关的漏洞 终端中有一个apns-config.xml文件,负责定义各个运营商规定的默认APN参 ...

  6. Spring初始化加载流程分析

    关于Spring框架的介绍,网上有很多非常好的详细的文章,如果在本篇博客中没有了解到自己想要的东西,个人能力有限,只能使用博客记录一下自己目前了解的知识点了! 本篇博客将大致介绍一下Spring框架的 ...

  7. spring ioc加载流程

    一.总框架加载流程 1.applicationContext创建beanFactory-> 2.beanFactory通过XMLbeandefineReader解析文件,获取BeanDefini ...

  8. spring启动加载流程

    上次看了spring的加载流程,今天发现或多都忘记了,今天又看了一下,顺便总结一下: 标题spring的web项目启动: 1.首先web容器(比如Tomcat)会读取配置在web.xml中的监听器,从 ...

  9. android中常用的下拉刷新加载更多_如何设计“加载流程”

    为什么要处理"加载"状态 在页面拉取数据.或提交某些数据时,需要一定的时间来等待服务端返回结果.如果不处理加载,用户可能会看到一片空白,以为你的软件出错:或者因没有建立心理预期,被 ...

  10. 总结Vue中index.html、main.js、App.vue、index.js之间关系以及Vue项目加载流程

    总结Vue中index.html.main.js.App.vue.index.js之间关系以及Vue项目加载流程 文章目录 总结Vue中index.html.main.js.App.vue.index ...

最新文章

  1. python中return返回值为函数名_Python函数返回值
  2. 华为xs第几批升级鸿蒙,华为和荣耀老机型用户有福:确定能批量升级到鸿蒙系统!...
  3. mysql 索引计划_Mysql索引、查询计划、优化方向
  4. 图论解决复杂路口红绿灯安排,python语言实现
  5. 自己动手写Docker系列 -- 4.1使用busybox创建容器
  6. Codeforces7C 扩展欧几里得
  7. 北京大学生物信息学课程(5)
  8. c# 添加外部程序集相对引用问题
  9. c语言ctype函数,C语言函数--ctype.h库函数
  10. CommonAPI编写代码
  11. 诺禾-蛋白表达纯化之通关技巧
  12. winnt/win2003下的分区软件PowerQuest ServerMagic
  13. Learning Center Probability Map for Detecting Objects in Aerial Images 论文学习笔记
  14. 有两台电脑,一台电脑有线上网,另一台不能上网,如何通过飞秋或者其他软件,使得两台电脑间能互传文件
  15. 对话哈佛大学教授Lukin:量子计算将在我们有生之年普及! | AI英雄
  16. 彻底删除的文件如何恢复?一个方案,解决烦恼
  17. EasyAPI基于电子发票API接口二维码小票对接方案
  18. BUAA(2021春)实验:树的构造与遍历——根据提示循序渐进(可惜提示有问题Ծ‸Ծ)
  19. Don‘t make users think
  20. Vue3+TypeScript+ElementPlus 组件式开发思路分享

热门文章

  1. java计算机毕业设计风情旅游网站源码+mysql数据库+系统+lw文档+部署
  2. 用纯前端表格控件SpreadJS,搭建上海泛微协同OA管理平台
  3. 时间序列信号处理系列-基于Python的同步压缩变换
  4. Fedora9更新源
  5. Android 文件下载三种基本方式
  6. 《C语言小游戏之贪吃蛇程序代码》
  7. android 视频测试工具,安兔兔视频测试下载3.0 官方版-安卓盒子视频性能检测工具平板西西软件下载...
  8. JAVA VM(HotSpot)
  9. 项目管理实战课程总结
  10. Gitlab文件管理之把文档传到指定文件夹