目录


环境

配置说明

所需jar包

配置db.properties

配置log4j.properties

配置spring.xml

配置mybatis-spring.xml

配置springmvc.xml

配置web.xml

测试


环境

  操作系统:Ubuntu 18.04

  开发工具:Eclipse

  Java版本:Java 8

  服务器:Tomcat 8

  Spring版本:4.1.6

  Mybatis版本:3.2.7

  配置方式:使用手动导入jar包的方式

配置说明

  正如标题所说的,本篇博客是使用xml方式,基于Spring4 + Mybatis3搭建的一套简单的ssm环境,此次搭建环境没有使用Maven,如果想要查看使用Maven怎么搭建SSM整合环境,可以参考:使用Maven完成SSM框架整合环境构建——基于Spring4和Mybatis3

  因为Spring MVC只是Spring的一个子产品,所以并不需要整合Spring和SpringMVC,实际上,SSM的整合只是Spring和Mybatis,以及SpringMVC和Mybatis之间的整合。

  本篇博客的源码已经上传到github,地址:https://github.com/searchingbeyond/ssm-simple-config.git

  最基本的ssm环境:click here

  后续会在这个基础上增加一些其他框架的整合。

  如果要想用maven搭建环境,可以参考:https://www.cnblogs.com/-beyond/p/10766468.html

所需jar包

  下面是环境搭建需要的jar包,可以直接clone上面的git库,这些jar包我都已经上传到lib了。

  1. asm-3.3.1.jar
  2. cglib-2.2.2.jar
  3. javassist-3.17.1-GA.jar
  4.  
  5. commons-fileupload-1.3.1.jar
  6. commons-io-2.6.jar
  7. commons-logging-1.1.3.jar
  8.  
  9. jackson-annotations-2.4.0.jar
  10. jackson-core-2.4.1.jar
  11. jackson-databind-2.4.1.jar
  12.  
  13. log4j-1.2.17.jar
  14. log4j-api-2.0-rc1.jar
  15. log4j-core-2.0-rc1.jar
  16. slf4j-api-1.7.5.jar
  17. slf4j-log4j12-1.7.5.jar
  18.  
  19. mysql-connector-java-5.1.39-bin.jar
  20. mybatis-3.2.7.jar
  21. mybatis-spring-1.2.3.jar
  22. druid-1.0.16.jar
  23.  
  24. spring-aop-4.1.6.RELEASE.jar
  25. spring-aspects-4.1.6.RELEASE.jar
  26. spring-beans-4.1.6.RELEASE.jar
  27. spring-context-4.1.6.RELEASE.jar
  28. spring-core-4.1.6.RELEASE.jar
  29. spring-expression-4.1.6.RELEASE.jar
  30. spring-jdbc-4.1.6.RELEASE.jar
  31. spring-tx-4.1.6.RELEASE.jar
  32. spring-web-4.1.6.RELEASE.jar
  33. spring-webmvc-4.1.6.RELEASE.jar
  34.  
  35. aopalliance.jar
  36. aspectjweaver.jar
  37.  
  38. jstl-1.2.jar
  39. taglibs-standard-1.1.2.jar

  

配置db.properties

  db.properties文件存放在项目的src目录下,保存数据库连接信息以及连接池相关配置。

  1. jdbc.driverClassName=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/test
  3. jdbc.username=root
  4. jdbc.password=123456
  5. jdbc.maxActive=10
  6. jdbc.initialSize=5
  7. jdbc.maxWait=10000
  8. jdbc.minIdle=5  

配置log4j.properties

  log4j.properties存放在项目的src目录下。用来记录日志,主要是配置日志的记录等级,以及日志输出文件的位置。

  如果是Windows操作系统,修改日志输出文件的录几路径即可。

  1. log4j.rootCategory=INFO, CONSOLE,LOGFILE
  2.  
  3. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
  4. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.CONSOLE.layout.ConversionPattern=-%p - %d{yyyy-MM-dd HH:mm:ss} - %C - line:%L - %m%n
  6.  
  7. log4j.appender.LOGFILE=org.apache.log4j.FileAppender
  8. log4j.appender.LOGFILE.File=/var/work/log/server.log
  9. log4j.appender.LOGFILE.Append=true
  10. log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
  11. log4j.appender.LOGFILE.layout.ConversionPattern=-%p - %d{yyyy-MM-dd HH:mm:ss} - %C - line:%L - %m%n

  

配置spring.xml

  spring.xml存放在项目的src目录下,用来配置Spring容器。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:tx="http://www.springframework.org/schema/tx"
  6. xmlns:context="http://www.springframework.org/schema/context"
  7. xsi:schemaLocation="http://www.springframework.org/schema/beans
  8. http://www.springframework.org/schema/beans/spring-beans.xsd
  9. http://www.springframework.org/schema/aop
  10. http://www.springframework.org/schema/aop/spring-aop.xsd
  11. http://www.springframework.org/schema/context
  12. http://www.springframework.org/schema/context/spring-context.xsd
  13. http://www.springframework.org/schema/tx
  14. http://www.springframework.org/schema/tx/spring-tx.xsd">
  15.  
  16. <!-- 注解扫描 -->
  17. <context:component-scan base-package="cn.ganlixin.dao"></context:component-scan>
  18. <context:component-scan base-package="cn.ganlixin.service"></context:component-scan>
  19.  
  20. <!-- 加载属性文件 -->
  21. <context:property-placeholder location="classpath:db.properties" />
  22.  
  23. <!-- 配置数据源 -->
  24. <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  25. <property name="driverClassName" value="${jdbc.driverClassName}"></property>
  26. <property name="url" value="${jdbc.url}"></property>
  27. <property name="username" value="${jdbc.username}"></property>
  28. <property name="password" value="${jdbc.password}"></property>
  29. </bean>
  30. -->
  31.  
  32. <!-- 使用Druid连接池,配置数据源 -->
  33. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
  34. <property name="driverClassName" value="${jdbc.driverClassName}"></property>
  35. <property name="url" value="${jdbc.url}"></property>
  36. <property name="username" value="${jdbc.username}"></property>
  37. <property name="password" value="${jdbc.password}"></property>
  38. <property name="initialSize" value="${jdbc.initialSize}"></property>
  39. <property name="maxActive" value="${jdbc.maxActive}"></property>
  40. <property name="maxWait" value="${jdbc.maxWait}"></property>
  41. <property name="minIdle" value="${jdbc.minIdle}"></property>
  42. </bean>
  43.  
  44. <!-- 配置SqlSessionFactory -->
  45. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  46. <property name="dataSource" ref="dataSource"></property>
  47. <property name="configLocation" value="classpath:mybatis-spring.xml"></property>
  48. <property name="mapperLocations" value="classpath:cn/ganlixin/mapper/*.xml"></property>
  49. </bean>
  50.  
  51. <!-- 扫描器 -->
  52. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  53. <property name="basePackage" value="cn.ganlixin.dao"></property>
  54. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
  55. </bean>
  56.  
  57. <!-- 事务管理器 -->
  58. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  59. <property name="dataSource" ref="dataSource"></property>
  60. </bean>
  61.  
  62. <!-- 声明式事务 -->
  63. <tx:advice id="txAdvice" transaction-manager="transactionManager">
  64. <tx:attributes>
  65. <tx:method name="ins*"/>
  66. <tx:method name="del*"/>
  67. <tx:method name="upd*"/>
  68. <tx:method name="*" read-only="true"/>
  69. </tx:attributes>
  70. </tx:advice>
  71.  
  72. <!-- 配置aop,将定义的切点与声明式事务绑定 -->
  73. <aop:config>
  74. <aop:pointcut expression="execution(* cn.ganlixin.service.*.*(..))" id="mypoint"/>
  75. <aop:advisor advice-ref="txAdvice" pointcut-ref="mypoint"/>
  76. </aop:config>
  77. </beans>

  

配置mybatis-spring.xml

  mybatis-spring.xml这个文件存放在项目的src目录下,其实这配置文件可以省略的,完全可以在spring.xml中配置。

  这个文件单纯的用来配置mybatis,但是spring.xml中已经配置了很多关于mybatis的配置,所以mybatis并不需要做什么。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5.  
  6. <configuration>
  7. <settings>
  8. <!-- 使用log4j记录日志 -->
  9. <setting name="logImpl" value="log4J"></setting>
  10. </settings>
  11.  
  12. <!-- 设置类型别名 -->
  13. <typeAliases>
  14. <package name="cn.ganlixin.pojo" />
  15. </typeAliases>
  16. </configuration>

  

配置springmvc.xml

  springmvc同样是存放在项目的src目录下。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:mvc="http://www.springframework.org/schema/mvc"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  12.  
  13. <!-- 扫描直接,只扫描controller包 -->
  14. <context:component-scan
  15. base-package="cn.ganlixin.controller"></context:component-scan>
  16.  
  17. <!-- 视图解析器 -->
  18. <bean id="viewResolver"
  19. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  20. <property name="prefix" value="/WEB-INF/jsp/"></property>
  21. <property name="suffix" value=".jsp"></property>
  22. </bean>
  23.  
  24. <!-- 注解驱动 -->
  25. <mvc:annotation-driven></mvc:annotation-driven>
  26.  
  27. <!-- 设置静态资源路径 -->
  28. <mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
  29. <mvc:resources location="/css/" mapping="/css/**"></mvc:resources>
  30. <mvc:resources location="/images/" mapping="/images/**"></mvc:resources>
  31. </beans>

  

配置web.xml

  web.xml存放在项目的WebRoot/WEB-INF目录下,如果是myeclipse,应该存放到WebContent/WEB-INF下。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  6.  
  7. <context-param>
  8. <param-name>contextConfigLocation</param-name>
  9. <param-value>classpath:spring.xml</param-value>
  10. </context-param>
  11.  
  12. <!-- 监听器 -->
  13. <listener>
  14. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  15. </listener>
  16.  
  17. <!-- SpringMVC前端控制器 -->
  18. <servlet>
  19. <servlet-name>springmvc</servlet-name>
  20. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  21. <init-param>
  22. <param-name>contextConfigLocation</param-name>
  23. <param-value>classpath:springmvc.xml</param-value>
  24. </init-param>
  25. <load-on-startup>1</load-on-startup>
  26. <async-supported>true</async-supported>
  27. </servlet>
  28. <servlet-mapping>
  29. <servlet-name>springmvc</servlet-name>
  30. <url-pattern>/</url-pattern>
  31. </servlet-mapping>
  32.  
  33. <!-- 字符编码过滤器 -->
  34. <filter>
  35. <filter-name>encoding</filter-name>
  36. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  37. <init-param>
  38. <param-name>encoding</param-name>
  39. <param-value>utf-8</param-value>
  40. </init-param>
  41. </filter>
  42. <filter-mapping>
  43. <filter-name>encoding</filter-name>
  44. <url-pattern>/*</url-pattern>
  45. </filter-mapping>
  46. </web-app>

  

测试

  这里就不进行测试了,可以下载 demo,包含一个完整的示例,自己可以运行一下。

SSM框架整合环境构建——基于Spring4和Mybatis3的更多相关文章

  1. 使用Maven完成SSM框架整合环境构建——基于Spring4和Mybatis3

    只言片语 使用Maven来搭建一个SSM环境,其实和使用手工倒入jar的过程没有多大区别,所用的jar包都是一样的,但是区别在与不用你手动导入jar包了,而是只修改pom.xml,maven会自动根据 ...

  2. 基于maven的ssm框架整合

    基于maven的ssm框架整合 第一步:通过maven建立一个web项目.                第二步:pom文件导入jar包                              (1 ...

  3. IDEA下基于MAVEN的SSM框架整合

    源码可以以上传github https://github.com/ingxx/ssm_first 最近把用IDEA把SSM框架整合一遍遇到了不少坑,在这里写出来 这里maven我使用的是自己下载的3. ...

  4. JAVAEE——宜立方商城01:电商行业的背景、商城系统架构、后台工程搭建、SSM框架整合

    1. 学习计划 第一天: 1.电商行业的背景. 2.宜立方商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建-后台工程 a) 使用maven搭建工程 b) 使用maven的tomcat插件启 ...

  5. SSM框架整合模板

    SSM框架整合--MAVEN依赖 spring方面(包含了springmvc): spring-webmvc:spring与mvc的整合依赖,主要包括spring的核心包和springmvc需要的包 ...

  6. SpringMVC详解及SSM框架整合项目

    SpringMVC ssm : mybatis + Spring + SpringMVC MVC三层架构 JavaSE:认真学习,老师带,入门快 JavaWeb:认真学习,老师带,入门快 SSM框架: ...

  7. SSM框架整合(实现从数据库到页面展示)

    SSM框架整合(实现从数据库到页面展示) 首先创建一个spring-web项目,然后需要配置环境dtd文件的引入,环境配置,jar包引入. 首先让我来看一下ssm的基本项目配件.(代码实现) 1.首先 ...

  8. SpringMVC札集(10)——SSM框架整合

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  9. (转)淘淘商城系列——SSM框架整合之Dao层整合

    http://blog.csdn.net/yerenyuan_pku/article/details/72721093 一个项目中往往有三层即Dao层.Service层和Web层,看标题就知道了,本文 ...

随机推荐

  1. hadoop rpc协议客户端与服务端的交互流程

    尽管这里是hadoop的rpc服务,但是hadoop还是做到了一次连接仅有一次认证.具体的流程待我慢慢道来. 客户端:这里我们假设ConnectionId对应的Connection并不存在.在调用ge ...

  2. service相关

    本篇仍以问题为驱动 一.什么时Service? Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件.Ser ...

  3. SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  4. 校园生活app结对开发第二天

    昨天进行了android studio的安装与配置遇到很多问题,在gradel处遇到很多问题,安装版本错误等等,在百度和书籍的帮助下成功安装 今天要做登陆界面开发

  5. MySQL 笔记整理(18) --为什么这些SQL语句逻辑相同,性能却差异巨大?

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 18) --为什么这些SQL语句逻辑相同,性能却差异巨大? 本篇我们以三 ...

  6. mysql 设置自增主键id的起始值

    修改user表,主键自增从20000开始 alter table user AUTO_INCREMENT=20000;

  7. 【Redis】redis各类型数据存储分析

    一.简介和应用 Redis是一个由ANSI C语言编写,性能优秀.支持网络.可持久化的K-K内存数据库,并提供多种语言的API.它常用的类型主要是 String.List.Hash.Set.ZSet ...

  8. kotlin 第一个Android项目

    一.创建过程 二.TextView点击事件 class MainActivity : AppCompatActivity() { lateinit var tv:TextView; //初始化Text ...

  9. CMMI 2.0术语变化

    过程域 vs. 实践域 “过程域”(Process Areas,PAs)在CMMI 2.0中变成了“实践域(Practice Areas,PAs)”.这样的改变,强调了CMMI 2.0是最佳实践的集合 ...

  10. C#零基础入门-3-第一个控制台程序

    打开VS2017 文件 新建 项目 模板选择Visual C# Windows 控制台应用程序 快速写入Console.WriteLine 输入cw,然后快速按tab键两次即可.