文章目录

  • web.xml
    • 启动spring容器
    • springmvc前端控制器
    • 乱码过滤
    • Rest风格
  • spring配置文件
    • 扫描除了Contorller注解说明以外的包
    • 配置数据源
      • 数据源配置文件dbconfig.properties
    • mybatis整合
      • mybatis配置文件
    • SQL批量操作
    • 事务控制
  • springmvc配置文件
    • 扫描controller包
    • 视图解析器
    • 两个标准配置

web.xml

启动spring容器

<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

springmvc前端控制器

<servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>WEB-INF/dispatcherServlet-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>

乱码过滤

<filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>forceRequestEncoding</param-name><param-value>true</param-value></init-param><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param>
</filter>
<filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

Rest风格

<filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

spring配置文件

扫描除了Contorller注解说明以外的包

<context:component-scan base-package="com.itlf"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

配置数据源

context:property-placeholder location="classpath:dbconfig.properties"/>
<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/>
</bean>

数据源配置文件dbconfig.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_crud?serverTimezone=UTC&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
jdbc.username=root
jdbc.password=123456

mybatis整合

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--指定mybatis 的配置文件的路径--><property name="configLocation" value="classpath:mybatis-config.xml"/><property name="dataSource" ref="pooledDataSource"/><property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<!--配置扫描器,将mybatis 的接口实现都加入到ioc容器中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.itlf.dao"/>
</bean>

mybatis配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><typeAliases><package name="com.itlf.bean"/></typeAliases><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins></configuration>

SQL批量操作

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/><!--批量--><constructor-arg name="executorType" value="BATCH"/>
</bean>

事务控制

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!--控制数据源--><property name="dataSource" ref="pooledDataSource"/>
</bean>
<!--开启注解的事务,使用xml配置(比较主要的都使用配置模式)-->
<aop:config><!--切入点表达式--><aop:pointcut id="txPoint" expression="execution(* com.itlf.service..*(..))"/><!--配置事务增强--><aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>
<!--配置事务增强-->
<tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!--所有方法都是事务方法--><tx:method name="*"/><!--所有get开始的方法--><tx:method name="get*" read-only="true"/></tx:attributes>
</tx:advice>

springmvc配置文件

扫描controller包

<context:component-scan base-package="com.itlf" use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

视图解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/>
</bean>

两个标准配置

<!--两个标准配置-->
<!--注解驱动-->
<mvc:annotation-driven/>
<!--静态资源过滤-->
<mvc:default-servlet-handler/>

SSM框架整合配置文件_刘锋的博客相关推荐

  1. MySQL_DQL数据查询语言_刘锋的博客

    文章目录 DQL数据查询语言 进阶一:基础查询 进阶二:条件查询 进阶三:排序查询 进阶四:常见函数 一.单行函数 二.分组函数(聚合函数) 进阶五.分组查询 进阶六:连接查询(多表查询) sql92 ...

  2. MySQL_TCL事务控制语言_刘锋的博客

    文章目录 TCL事务控制语言 一.事务的属性(ACIB) 原子性 一致性 隔离性 持久性 二.事务的创建 隐式的事务 显式的事务 三.事务的隔离级别 脏读: 不可重复度: 幻读: 四.delete和t ...

  3. SSM框架整合_刘锋的博客

    文章目录 SSM整合 一.MyBatis层 1.首先创建一个数据库 2.搭建环境 创建一个maven项目 添加依赖 静态资源 idea连接数据库 构造项目结构目录 mybatis-config.xml ...

  4. 什么是框架_刘锋的博客

    框架 1.什么是框架?(framework) 框架就是一个软件,完成了部分的功能,软件中类和类之间的方法调用已经规定好了.可以根据这些类完成特定的功能,可以看成是一个模板. 框架是可以升级和改造的,是 ...

  5. Mybatis逆向工程_刘锋的博客

    Mybatis逆向工程 说明文档网址 : http://mybatis.org/generator/ maven依赖导入 <!--mybatis生成器--><dependency&g ...

  6. H2测试用数据库_刘锋的博客

    H2测试用数据库 一.导入maven依赖 <dependency><groupId>com.h2database</groupId><artifactId&g ...

  7. jsp中Ajax请求发送PUT、DELETE请求的方式_刘锋的博客

    jsp中Ajax请求发送PUT.DELETE请求的方式 方式一 首先配置pom.xml ,添加过滤器 <filter><filter-name>hiddenHttpMethod ...

  8. MySQL视图_刘锋的博客

    文章目录 视图 创建视图 视图修改 视图的删除 查看视图 视图的更新 对比视图和表 视图 就是一个虚拟的表,有行有列 虚拟表是5.1之后出现的新特性,是通过普通表动态生成的数据,具有临时性的特点. 创 ...

  9. Java线程池_刘锋的博客

    文章目录 线程和线程池的区别 线程池的七大参数 线程和线程池的区别 线程的join方法: 目的是使子线程去等待主线程执行完成的,具体的应用场景是,当主线程要使用子线程的计算结果的时候,但是子线程的运算 ...

最新文章

  1. ffmpeg源码分析——av_register_all
  2. 离线轻量级大数据平台Spark之MLib机器学习库线性回归实例
  3. 【Python】Python字典的高级用法-统计计数
  4. collection 多态 会自动转型为子类 继承多态需要显示转型
  5. e的矩阵次方_利用状态转移矩阵和VBA求游戏中各种事件达成次数的期望
  6. 自己手写一个Spring MVC框架
  7. ElasticSearch权威指南学习(索引管理)
  8. Remote Desktop Manager for Mac(远程桌面管理)
  9. 985研究生组团诈骗,一个中招就关App,涉案金额超1亿,受害人遍布全国
  10. gridview的sort_GRIDVIEW排序的动态实现...
  11. java digester_Apache Commons Digester 一 (基础内容、核心API)
  12. 数学算法 湿度计算方法
  13. 【EMC专题】共模和差模
  14. 你还记得大明湖畔的oop原则吗?
  15. 向系统日历添加日程提醒的规则
  16. 计算机专业的情书,【实用】大学各专业表白情书,你能看懂几个
  17. 币图告诉你如何解决双花问题
  18. 人工湖对环境温度的调节问题
  19. 城市交通拥堵问题matlab,深圳市交通拥堵问题分析---数学建模论文.doc
  20. java自动化测试语言高级之MySQL 连接

热门文章

  1. CDH安装中Mysql配置
  2. FFmpeg 推流后部分播放器无法播放
  3. Delphi 中自定义鼠标指针图像
  4. 错误解决:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
  5. SpreadJS 16.0 中文版在线电子表设计预览EXCEL-Crack
  6. react cookie_安全React快速应用程序jsonwebtoken cookie会话auth0和通行证教程
  7. Java SQLSyntaxErrorException: Key column ‘xxx‘ doesn‘t exist in table问题解决
  8. 关于npm install报错
  9. JAVA面向对象程序编程
  10. 打开jsp/html,3秒后自动跳转