SSM整合(SpringMVC+Spring+Mybatis)

原创 2016年08月30日 11:07:14

1.加入jar

aopalliance-1.0.jar

aspectjweaver.jar

c3p0-0.9.1.2.jar

commons-fileupload-1.3.1.jar

commons-io-2.4.jar

commons-logging-1.2.jar

jackson-annotations-2.2.1.jar

jackson-core-2.2.1.jar

jackson-databind-2.2.1.jar

log4j-1.2.17.jar

mybatis-3.2.6.jar

mybatis-spring-1.2.2.jar

mysql-connector-java-5.1.30.jar

spring-aop-4.2.2.RELEASE.jar

spring-aspects-4.2.2.RELEASE.jar

spring-beans-4.2.2.RELEASE.jar

spring-context-4.2.2.RELEASE.jar

spring-context-support-4.2.2.RELEASE.jar

spring-core-4.2.2.RELEASE.jar

spring-expression-4.2.2.RELEASE.jar

spring-instrument-4.2.2.RELEASE.jar

spring-instrument-tomcat-4.2.2.RELEASE.jar

spring-jdbc-4.2.2.RELEASE.jar

spring-jms-4.2.2.RELEASE.jar

spring-messaging-4.2.2.RELEASE.jar

spring-orm-4.2.2.RELEASE.jar

spring-oxm-4.2.2.RELEASE.jar

spring-test-4.2.2.RELEASE.jar

spring-tx-4.2.2.RELEASE.jar

spring-web-4.2.2.RELEASE.jar

spring-webmvc-4.2.2.RELEASE.jar

spring-webmvc-portlet-4.2.2.RELEASE.jar

spring-websocket-4.2.2.RELEASE.jar

 

2.配置web.xml

这里主要配置了: 编码过滤器,spring配置监听器,springMVCdispatcherServlet的配置,log4j

log4j.properties

 

 ### set log levels ### 

log4j.rootLogger = debug,stdout,D,E 

 

log4j.appender.stdout = org.apache.log4j.ConsoleAppender 

log4j.appender.stdout.Target = System.out 

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 

log4j.appender.stdout.layout.ConversionPattern = [%-5p]%d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n 

 

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 

log4j.appender.D.File = H://logs/log.log 

log4j.appender.D.Append = true 

log4j.appender.D.Threshold = DEBUG  

log4j.appender.D.layout = org.apache.log4j.PatternLayout 

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-ddHH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n 

 

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender 

log4j.appender.E.File =H://logs/error.log  

log4j.appender.E.Append = true 

log4j.appender.E.Threshold = ERROR  

log4j.appender.E.layout = org.apache.log4j.PatternLayout 

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-ddHH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 

 

--------------------------------------------------------------

<!-- filter -->

 <filter>

         <filter-name>CharacterEncodingFilter</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>

  </filter>

  <filter-mapping>

         <filter-name>CharacterEncodingFilter</filter-name>

         <url-pattern>/*</url-pattern>

  </filter-mapping>

 

 <!-- spring -->

  <!-- needed forContextLoaderListener -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

 

<!-- Bootstraps the root web application context before servletinitialization -->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

  <!-- springMVC -->

  <!-- The frontcontroller of this Spring Web application, responsible for handling allapplication requests -->

<servlet>

<servlet-name>springDispatcherServlet</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:mvc.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

 

<!-- Map all requests to the DispatcherServlet for handling-->

<servlet-mapping>

<servlet-name>springDispatcherServlet</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

 

<!-- 配置log4j -->

<!-- 设置根目录 --> 

<context-param>   

      <param-name>webAppRootKey</param-name>   

      <param-value>webapp.root</param-value>   

 </context-param>   

 

<context-param> 

<param-name>log4jConfigLocation</param-name> 

<param-value>classpath:log4j.properties</param-value> 

</context-param> 

<!-- 3000表示开一条watchdog线程每60秒扫描一下配置文件的变化;这样便于日志存放位置的改变 --> 

<context-param>   

       <param-name>log4jRefreshInterval</param-name>   

       <param-value>3000</param-value>   

</context-param>  

<listener> 

   <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 

</listener>

 

 

3.配置spring

思路:1.先配数据源datasource

             2.配置工厂 sqlSessionFactory

 3.配置事务管理器 dataSourceTransactionManager

 4.配置事务属性通知 txAdvice

 5.配置事务切入点 pointcut

 6.配置注解支持

 

例:

db.properties

 

driver=com.mysql.jdbc.Driver

url=jdbc:mysql:///test

name=root

password=wxniit

 

----------------------------------------------------------------------------------------------------

<!-- 读取属性文件 -->

<!--<context:property-placeholderlocation="classpath:db.properties"/>  -->

<beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<propertyname="location">

          <value>classpath:db.properties</value>

</property>

</bean>

 

<!-- 配置datasource -->

<beanid="datasource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<propertyname="driverClassName"value="${driver}"></property>

<propertyname="url" value="${url}"></property>

<propertyname="username" value="${name}"></property>

<propertyname="password" value="${password}"></property>

</bean>

 

<!-- 配置工厂 -->

<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">

<propertyname="dataSource" ref="datasource"></property>

<propertyname="configLocation"value="classpath:mybatis-cfg.xml"></property>

</bean>

 

<!-- 配置声明式事务  -->

<!-- 事务管理器 -->

<beanid="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<propertyname="dataSource" ref="datasource"></property>

</bean>

<!-- 事务声明通知 -->

<tx:adviceid="txAdvice" transaction-manager="txManager">

<tx:attributes>

<tx:methodname="save" propagation="REQUIRED"/>

<tx:methodname="get" read-only="true"/>

<tx:methodname="*" propagation="REQUIRED"/>

</tx:attributes>

</tx:advice>

<aop:config>

<aop:pointcut expression="execution(* com.chenj.app.serivce.impl.*.*(..))"id="pointcut"/>

<aop:advisoradvice-ref="txAdvice" pointcut-ref="pointcut"/>

</aop:config>

 

<!-- 扫描controller -->

<context:component-scanbase-package="com.chenj.app"></context:component-scan>

 

4.配置springMVC

这里主要配置了 json ,文件上传,视图解析,注解支持,拦截器(需要实现org.springframework.web.servlet.HandlerInterceptor

例:

<!-- 启动Springmvc注解驱动 -->

<mvc:annotation-driven/>

<!-- 返回json 方法一需要导入 fastjson.jar-->

<!--<mvc:annotation-driven> <mvc:message-convertersregister-defaults="false">

避免IE执行AJAX,返回JSON出现下载文件 <bean id="fastJsonHttpMessageConverter"class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">

<propertyname="supportedMediaTypes"> <list> 这里顺序不能反,一定先写text/html,不然ie下出现下载提示

<value>text/html;charset=UTF-8</value><value>application/json;charset=UTF-8</value>

</list></property> </bean> </mvc:message-converters></mvc:annotation-driven> -->

 

 

<!-- 返回json 方法二需要导入jackson-annotations.jar,jackson-core.jar,jackson-databind.jar -->

<bean

class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

<bean

class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">

<propertyname="messageConverters">

<list>

<bean

class="org.springframework.http.converter.StringHttpMessageConverter">

<propertyname="supportedMediaTypes">

<list>

<value>text/html;charset=UTF-8</value>

<value>application/json;charset=UTF-8</value>

</list>

</property>

</bean>

<bean

class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

<propertyname="supportedMediaTypes">

<list>

<value>text/html;charset=UTF-8</value>

<value>application/json;charset=UTF-8</value>

</list>

</property>

</bean>

</list>

</property>

</bean>

 

<!-- 拦截器配置 -->

<!--<mvc:interceptors> <mvc:interceptor> <mvc:mappingpath="/**"/> <bean

class="com.chenj.app.interceptor.LoginInterceptor"><property name="allowedPass">

<list><value>login.do</value> </list> </property></bean> </mvc:interceptor>

</mvc:interceptors>-->

 

<!-- 文件上传配置 -->

<beanid="multipartResolver"

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<propertyname="defaultEncoding" value="utf-8"></property>

<propertyname="maxUploadSize"value="10485760000"></property>

<propertyname="maxInMemorySize" value="40960"></property>

</bean>

 

<!-- 配置视图解析器 -->

<bean

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<!--<property name="viewClass"value="org.springframework.web.servlet.view.JstlView"></property>-->

<propertyname="prefix" value="/WEB-INF/pages/" />

<propertyname="suffix" value=".jsp" />

</bean>

 

<!-- 配置注解支持 -->

<context:component-scanbase-package="com.chenj.app"></context:component-scan>

 

5.配置mybatis

注:需要在spring配置工厂时加上<property name="configLocation"value="classpath:mybatis-cfg.xml"></property>

 

例:

<?xmlversion="1.0" encoding="UTF-8"?>

<!DOCTYPEconfiguration SYSTEM "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<typeAliases>

   <packagename="com.chenj.app.entity"/>

</typeAliases>

<!-- 配置mapper的位置-->

<mappers>

<mapperresource="com/chenj/app/entity/userMapper.xml"/>

</mappers>

</configuration>

版权声明:本文为博主原创文章,未经博主允许不得转载。

SSM框架Spring+SpringMVC+MyBatis——详细整合教程

欢迎大家一起学习研究相关技术愿意了解框架技术或者源码的朋友直接加求求(企鹅):2042849237 更多详细源码参考来源:http://minglisoft.cn/technology SSM框架Sp...
  • qq_39058937
  • qq_39058937
  • 2017年06月21日 14:20
  • 256

SSM(SpringMVC+Spring+Mybatis)整合

1.什么是SSM? SSM即SpringMVC+Spring+Mybatis的简称。 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。S...
  • Sir_fish
  • Sir_fish
  • 2015年08月09日 22:29
  • 1405

SSM框架(springmvc+spring+mybatis)整合

最近通过查找一些资料,整合了SSM(springmvc+spring+mybatis)框架。虽然现在网上ssm框架整合的文章很多,但在整合过程中还是遇到了很多错误,所以打算把整合过程和一些心得分享下。...
  • qq_33465743
  • qq_33465743
  • 2016年11月22日 19:11
  • 97

SSM整合配置文件(Springmvc+Spring+Mybatis)

/WEB-INF/web.xml: xml version="1.0" encoding="UTF-8"?> web-app version="2.4" xmlns="http:/...
  • LingFeng0918
  • LingFeng0918
  • 2015年09月07日 14:36
  • 486

SSM(springmvc+spring+mybatis)整合过程

问题?SSM(springmvc+spring+mybatis)整合过程 一、SSM框架比较S2SH框架的优缺点比较 二、整合过程 三、细节重要点 四、总结...
  • Mr_li13
  • Mr_li13
  • 2016年05月14日 00:00
  • 9371

java 搭建基于springboot的ssm(spring + springmvc + mybatis)的maven项目

今天我们来搭建一个简单的基于springboot的ssm(spring + springmvc + mybatis)的maven项目,使用的数据库为mysql。好了废话不多说。开始搞起。 最终项目目录...
  • liboyang71
  • liboyang71
  • 2017年06月19日 11:42
  • 11465

Spring+SpringMVC+Mybatis整合开发实践(含源码(两个整合实例)、PPT)

SpringMVC、Spring、Mybatis整合开发,包含了PPT进行讲解和实例展示如何进行整合开发,快速上手SSM框架,能进行一般的业务逻辑的开发,希望此项目可以帮助你进行学习...
  • wangyang1354
  • wangyang1354
  • 2016年08月12日 22:17
  • 7581

Spring+Spring MVC+MyBatis(SSM)整合

SSM整合的简单入门程序的详解
  • u012393791
  • u012393791
  • 2016年07月23日 19:56
  • 259

SSM基础框架搭建(SpringMVC+Spring+Mybatis)

刚入java不久的程序猿,本打算去年写的东西,由于太懒,一直没写,今天将其补上 SSM框架简述  到现在用了SSM框架也有一段时间了,对于基础的使用已经基本习惯,这段时间也多多少少搭了很多遍基础框架,...
  • wxl1234579
  • wxl1234579
  • 2017年03月29日 17:22
  • 635

图书管理(spring+springMVC+mybatis整合)

对于三个框架学习以后,发现配置是一个很繁琐的过程,写一个整合记录,好让自己和需要的人学习学习. 首先用的是Oracle的数据库.准备工作这是BookInfo表 这是BookTypeInfo表 ...
  • a526059967
  • a526059967
  • 2016年12月07日 15:12
  • 2107
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSM整合(SpringMVC+Spring+Mybatis)
举报原因:
原因补充:

(最多只允许输入30个字)