Spring + SpringMVC + Mybatis框架搭建步骤

合集下载

spring4+springmvc+mybatis基本框架(app后台框架搭建一)

spring4+springmvc+mybatis基本框架(app后台框架搭建一)

spring4+springmvc+mybatis基本框架(app后台框架搭建⼀)前⾔:随着spring 越来越强⼤,⽤spring4来搭建框架也是很快速,问题是你是对spring了解有多深⼊。

如果你是新⼿,那么在搭建的过程中可以遇到各种各样奇葩的问题。

SSM框架的搭建是作为我搭建APP开发框架的基础。

我将会分以下⼏点:1) 配置⽂件如何配置2) 如何java配置启动servlet3) ⼀些搭建过程中的坑=============================================================================配置⽂件如何配置SSM框架的搭建配置⽅式有很多种,可具体分可以分为javaConfig配置,xml配置,或者xml⽂件与javaConf混合配置。

其实⽤那种都⾏了,我个⼈搭建还是偏xml配置,不过现在的javaConfig也很成熟,也可以考虑,就是有⼀些坑,后⾯会讲到的;混合配置,⽤的情况也是蛮多的,分享中会涉及⼀点。

接下来,我主要是以java配置类做的配置:这是项⽬的结构 com.ouyang.teson⽬录下直接放置配置类:1)AppConfig.javapackage com.ouyang.teson;import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.context.annotation.*;import org.springframework.transaction.annotation.EnableTransactionManagement;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.mvc.Controller;/*** Created by ThinkPad on 2017/6/15.*/@Configuration@EnableAspectJAutoProxy@EnableTransactionManagement@ComponentScan(basePackages = {"com.ouyang.teson"},excludeFilters={@ComponentScan.Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)})@Import(AppDataConfig.class)//@PropertySource({"classpath:jdbc.properties"})//@ImportSource("XXXX.xml")/*@Configuration,⽤于表⽰这个类是⼀个配置类,⽤于配置Spring的相关信息@EnableAspectJAutoProxy,启⽤切⾯⾃动代理,⽤于AOP@EnableTransactionManagement,启⽤注解事务,即可以使⽤@Transactional注解来控制事务@ComponentScan,组件扫描,在basePackages指定的⽬录下扫描被@Controller、@Service、@Component等注解注册的组件@Import,引⼊指定的配置类,我们引⼊了Spring容器配置类和数据源事务配置类@PropertySource,加载指定的配置⽂件,配置⽂件内容会加载⼊Environment中等待调⽤*/public class AppConfig {@Beanpublic MapperScannerConfigurer mapperScannerConfigurer() {MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();// 跟@MapperScan(basePackages = { "com.ouyang.teson.dao" }) 等同//如果通过web.xml 加载servlet的话,可能找不到映射对象建议⽤注解mapperScannerConfigurer.setBasePackage("com.ouyang.teson.dao");mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");return mapperScannerConfigurer;}}2) AppDataConfig.java 是导⼊的配置package com.ouyang.teson;import com.alibaba.druid.pool.DruidDataSource;import com.ouyang.teson.bean.TestBean;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.mybatis.spring.annotation.MapperScan;import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.*;import org.springframework.core.env.Environment;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.sql.DataSource;import java.io.IOException;/*** Created by ThinkPad on 2017/6/15.*/@EnableAspectJAutoProxy@EnableTransactionManagement@PropertySource({"classpath:jdbc.properties"})//@MapperScan(value={"/com/ouyang/teson/dao/*.xml"},basePackages = {"com.ouyang.teson.dao"})public class AppDataConfig {@Autowiredprivate Environment env;//设置阿⾥druid数据源@Bean(name="dataSource")public DataSource getDataSource() {DruidDataSource druidDataSource = new DruidDataSource();System.out.println("=============env============"+env.getProperty("jdbc.driverClassName"));druidDataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));druidDataSource.setUsername(env.getProperty("ername"));druidDataSource.setPassword(env.getProperty("jdbc.password"));druidDataSource.setUrl(env.getProperty("jdbc.url"));//连接超时时间druidDataSource.setMaxWait(10000);//最⼤存活时间//druidDataSource.setMaxActive(10000);// 配置间隔多久才进⾏⼀次检测,检测需要关闭的空闲连接,单位是毫秒druidDataSource.setTimeBetweenEvictionRunsMillis(60000);//连接池中的最⼩⽣存时间druidDataSource.setMinEvictableIdleTimeMillis(300000);//这⾥建议配置为TRUE,防⽌取到的连接不可⽤druidDataSource.setTestOnBorrow(true);druidDataSource.setTestOnReturn(false);//⾃动提交druidDataSource.setDefaultAutoCommit(true);druidDataSource.setPoolPreparedStatements(true);druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(20);return druidDataSource;}// 配置SqlSessionFactory对象public SqlSessionFactoryBean getSqSesionFactorys() throws IOException {SqlSessionFactoryBean sqlSessionFactoryBean =new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(getDataSource());// sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("mybatis-config.xml")); // 这⾥可以通过mybatis-config.xml 来设置 typeAliasPackage和mapper。

SpringMVC框架搭建流程(完整详细版)

SpringMVC框架搭建流程(完整详细版)

SpringMVC框架搭建流程(完整详细版)SpringMVC框架搭建流程开发过程1)配置DispatcherServlet前端控制器2)开发处理具体业务逻辑的Handler(@Controller、 @RequestMapping)3) xml配置⽂件配置controller扫描,配置springmvc三⼤件4)将xml⽂件路径告诉springmvc(DispatcherServlet)详细流程:创建⽬录新建maven项⽬,注意选择webapp⾻架。

创建成功之后会发现没有src等⽬录,这些需要我们⼿动创建:在src下⾯新建main,main下⾯新建java⽬录,选择java⽬录,右键,在main下⾯继续新建resource⽬录,选择resource⽬录,右键,pom.xmlpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion><groupId></groupId><artifactId>springmvc-demo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><piler.source>11</piler.source><piler.target>11</piler.target></properties><dependencies><!--引⼊spring webmvc的依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.12.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8080</port><path>/</path></configuration></plugin></plugins></build></project>注意Tomcat7插件是⽤来运⾏项⽬的,右侧运⾏:springmvc相关配置main⽂件夹下⾯新建webapp⽂件夹,webapp下⾯新建WEB-INF,下⾯新建web.xml<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!--⽅式⼀:带后缀,⽐如*.action *.do *.aaa该种⽅式⽐较精确、⽅便,在以前和现在企业中都有很⼤的使⽤⽐例⽅式⼆:/ 不会拦截 .jsp,但是会拦截.html等静态资源(静态资源:除了servlet和jsp之外的js、css、png等)为什么配置为/ 会拦截静态资源因为tomcat容器中有⼀个web.xml(⽗),你的项⽬中也有⼀个web.xml(⼦),是⼀个继承关系⽗web.xml中有⼀个DefaultServlet, url-pattern 是⼀个 /此时我们⾃⼰的web.xml中也配置了⼀个 / ,覆写了⽗web.xml的配置为什么不拦截.jsp呢?因为⽗web.xml中有⼀个JspServlet,这个servlet拦截.jsp⽂件,⽽我们并没有覆写这个配置,所以springmvc此时不拦截jsp,jsp的处理交给了tomcat如何解决/拦截静态资源这件事?⽅式三:/* 拦截所有,包括.jsp--><!--拦截匹配规则的url请求,进⼊springmvc框架处理--><url-pattern>/</url-pattern></servlet-mapping></web-app>⾥⾯配置了springmvc相关的配置,引⼊了springmvc.xml:在resource⽬录下新建springmvc.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beanshttps:///schema/beans/spring-beans.xsd/schema/contexthttps:///schema/context/spring-context.xsd/schema/mvchttps:///schema/mvc/spring-mvc.xsd"><!--开启controller扫描--><context:component-scan base-package=".controller"/><!--配置springmvc的视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--⾃动注册最合适的处理器映射器,处理器适配器(调⽤handler⽅法)--><mvc:annotation-driven/></beans>在java⽬录下新建包.controller,下⾯新建DemoController:package .controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import java.util.Date;/*** @author lyj* @Title: DemoController* @ProjectName springmvc-demo* @Description: TODO* @date 2020/6/9 21:21*/@Controller@RequestMapping("/demo")public class DemoController {/*** http://localhost:8080/demo/handle01*/@RequestMapping("/handle01")public ModelAndView handle01(){Date date=new Date();ModelAndView modelAndView=new ModelAndView();modelAndView.addObject("date",date);modelAndView.setViewName("success");return modelAndView;}}在WEB-INF下⾯新建jsp⽂件夹,下⾯新建success.jsp:<%@ page language="java" isELIgnored="false" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body>当前时间 ${date}</body></html>完毕后整个项⽬结构如下:测试:浏览器访问:。

springmvc+spring+mybatis整合

springmvc+spring+mybatis整合

springmvc+spring+mybatis整合首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些。

然后我们就细细的一步一步来整合。

1 创建一个Web项目。

2 导入Mybatis3、Spring4、SpringMVC4、连接数据库(我使用的数据库是mysql)的jar包。

我所用的包:spring-websocket-4.2.0.RELEASE.jar3 创建Mybatis3、Spring4、SpringMVC4、连接数据库的配置文件。

4 配置web.xml1<?xml version="1.0" encoding="UTF-8"?>2<web-app version="2.5"3xmlns="/xml/ns/javaee"4xmlns:xsi="/2001/XMLSchema-instance" 5xsi:schemaLocation="/xml/ns/javaee6/xml/ns/javaee/web-app_2_5.xsd">78<!-- 告知javaEE容器,有哪些内容需要添加到上下文中去--> 9<context-param>10<param-name>contextConfigLocation</param-name> 11<param-value>12/WEB-INF/classes/applicationContext.xml,13<!-- /WEB-INF/classes/mvc-servlet.xml -->14</param-value>15</context-param>161718<!-- 加载LOG4J -->19<context-param>20<param-name>log4jConfigLocation</param-name> 21<param-value>/WEB-INF/log4j.xml</param-value>22</context-param>2324<context-param>25<param-name>log4jRefreshInterval</param-name> 26<param-value>60000</param-value>27</context-param>2829<!-- 动态设置项目的运行路径-->30<context-param>31<param-name>webAppRootKey</param-name>32<param-value>ssm.root</param-value>33</context-param>3435<!-- 配置静态资源-->36<servlet-mapping>37<servlet-name>default</servlet-name>38<url-pattern>/static/*</url-pattern>39</servlet-mapping>404142<!-- 配置springmvc的前端控制器-->43<servlet>44<servlet-name>mvc</servlet-name>45<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>46<!-- 默认情况下:DispatcherServlet会寻找WEB-INF下,命名规范为[servlet-name]-servlet.xml文件。

Spring+SpringMVC+Mybatis框架搭建步骤

Spring+SpringMVC+Mybatis框架搭建步骤

Spring + SpringMVC + Mybatis 框架搭建步骤1. 新建WEB 工程。

Creiate a Web ProjectCreate a web project in the workspace or an externa I locatFonContext root URL J /ssm p rojj eet J2EE £pe-ci fi caition LevelJava EE 。

Java EE 5.0• ; J2EE 1.4 i J2EE 1.3Maven71 Add Maven su pportMyEclip ,3i e Maven JEE Proje-ct Standard IMave-m JEE ProjectLumrn eqtl abiQut IM 日vumAMyEuliipwg^.. J STL SupportI Add J STL libraries to VtfEB-JINF/lib folder?Finish2.导入相关的 JAR 包(oracle 数据库)。

单由右键项H , 选择build path —» configure build path—》选择 Add Library —》User Library —》点击 next —》点击 User Libraries 一》新建(NEW ) —》输入 Library 名字(英文)一》点由 Add Jars 添加所需JAR 包一》点 OK 一》点finish oNew \A/eb Project Cancel惨改日期太小祥coin. MpNfiq 土白口fcft.jd V3M.i nje-et_l .O.O.jar 2013/10/30 SM56Win RAR丘璋文1牛 5 KB com mo ns- log girrg -1,1 Ja r 2014/9/3 9:20WinRAR压述文件52 KB激j5tl-l.l-2.jar 2014/9/3 9:20winRAR在靠K牛21 KB漕Iog4j-L.2.15jar 2015/5/11 16:20WinRAR SMSt件 3 03 K. B3 FT!ybotfS-3rO,5jor 2014/&/3 9:20WinRAR 牛621 KBmyb ati s -sp rin g Ja r2014/9/B 9:20WinRAR田心件27 KBmybatfs-3pring-l I0,0-R;C2Jar 2&13/1C/31 10;30WinRAR BS5S:件M KBojdb<14.jar 2014/9/3. 9-20WinRAR叫愤:件l r520 KBorg.springframewcrk.aQp-3,l P2.RELEr.. 2014/9/3 9;20WinRAR压海文件325 K0org.springframeworlcasm-2.1…2…REUE...2014/9/3 9120WinRAR田砂件52 KBorg.Epringframeworkubeans"3r1.2.REr.. 2014/9/a 9:30WinRAR 牛579 K0srg.s.pringtfAmework-cpnteKt.auppor»2014/9/3 9:20WinRAR庄林1牛1G5 KBorg.springframework.context-3.1.2.RL・.2014/9/3 9:20WinRAR压蜻交件813 KB 潺Qrg,Springfr^meworkccre-3-1,2-RELE,…2014/9/3 9:20WinRAR任国丈1牛440 K Borg.springframeworlGexpreESion-3.1...2014/9/3 9:20WinRAR. 件172 KBDrg,springfr0meworkjdbc-3,l P2,RELE. 2014/9/3 9:20WihRAR压髦立件396 KB^8 o rg.5pringfranmeworlctransaction-3.1..2014/9/3 9:20WinRAR田豪立件240 KBorg.springfra!mework.webr5ervlet-3,L—2014/9/3 9;20WinRAR压南文件564 KBorg.springframeworlGweb-3.LNR.ELE...2014/9/3 9:20WinRAR 田*件53fi KB 3. 将项目的业务逻辑分层:控制层、业务层、实体层、L1^3 Prefer^-irac-e-s- CFiltjr-r-edi)Dao 层。

SpringMVC+MyBatis(最新)

SpringMVC+MyBatis(最新)

目前主流的Web MVC框架,除了Struts这个主力外,还有Spring MVC,主要是由于Spring MVC配置比较简单,使用起来也十分明了,非常灵活,与Spring 集成较好,对RESTful API 的支持也比struts要好。

MyBatis是ibatis的升级版,作为hibernate的老对手,它是一个可以自定义SQL、存储过程和高级映射的持久层框架。

与hibernate的主要区别就是mybatis是半自动化的,而hibernate是全自动的,所以当应用需求越来越复杂的时候,自动化的sql显得比较笨拙。

由于前段时间接了个项目要用springmvc做,所以我抱着练手的态度,又玩起了整合框架的游戏。

经常搭框架的人应该都清楚,框架搭建的核心就是配置文件。

所以我主要贴下几个配置文件的代码。

还是那句话,我都是写好配置文件之后,运行报错再加jar。

这里列一下我用的jar包(应该是最少的):备注:上图有一些额外的jar,比如我用的数据库连接池是阿里巴巴的druid、日志框架式logback,所以引入了相关jar。

关于这两个框架的使用和配置都是非常简单的,所以这里就不细说。

1.整合SpringMVCspringMybatis-servlet.xml:[html]view plaincopyprint?1.<?xml version="1.0"encoding="UTF-8"?>2.<beans xmlns="/schema/beans"xmlns:xsi="http:///2001/XMLSchema-instance"3.xmlns:context="/schema/context"4.xmlns:mvc="/schema/mvc"5.xsi:schemaLocation="/schema/beans http:///schema/beans/spring-beans.xsd6. /schema/context http://www.springframe/schema/context/spring-context.xsd7. /schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">8.9.<!-- 启用spring mvc 注解-->10.<mvc:annotation-driven>11.</mvc:annotation-driven>12.13.<!-- 自动扫描的包名,使Spring支持自动检测组件,如注解的Controller-->14.<context:component-scan base-package="com.alibaba.controller"/>15.<context:component-scan base-package="com.alibaba.service"/>16.17.18.<!-- 视图解析器:定义跳转的文件的前后缀 -->19.<bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">20.<property name="prefix"value="/WEB-INF/jsp/"/>21.<property name="suffix"value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->22.</bean>23.24.<!--配置拦截器, 多个拦截器,顺序执行 -->25.<mvc:interceptors>26.<mvc:interceptor>27.<!-- 匹配的是url路径 -->28.<mvc:mapping path="/"/>29.<mvc:mapping path="/user/**"/>30.<mvc:mapping path="/test/**"/>31.32.<bean class="monInterceptor"></bean>33.</mvc:interceptor>34.<!-- 当设置多个拦截器时,先按顺序调用preHandle方法,然后逆序调用每个拦截器的postHandle和afterCompletion方法 -->35.</mvc:interceptors>36.37.</beans>2.整合Mybatisspring-dao.xml:[html]view plaincopyprint?1.<?xml version="1.0"encoding="UTF-8"?>2.<beans xmlns="/schema/beans"xmlns:xsi="http:///2001/XMLSchema-instance"3.xmlns:mybatis="/schema/mybatis-spring"4.xmlns:context="/schema/context"5.xsi:schemaLocation="/schema/beans http:///schema/beans/spring-beans.xsd6. /schema/mybatis-spring /schema/mybatis-spring.xsd7. /schema/context http://www.springframew/schema/context/spring-context.xsd">8.9.<!-- 该包下的类支持注解,表示会被当作{@code mybatis mapper}处理配置了之后表示可以自动引入mapper类-->10.<mybatis:scan base-package="com.alibaba.dao"/>11.<!--引入属性文件 -->12.<context:property-placeholder location="classpath:configuration.properties"/>13.14.<!--数据库连接-->15.<bean id="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">16.<property name="url"value="${jdbc.url}"/>17.<property name="username"value="${ername}"/>18.<property name="password"value="${jdbc.password}"/>19.<!-- 配置初始化大小、最小、最大 -->20.<property name="initialSize"><value>1</value></property>21.<property name="maxActive"><value>5</value></property>22.<property name="minIdle"><value>1</value></property>23.<!-- 配置获取连接等待超时的时间 -->24.<property name="maxWait"><value>60000</value></property>25.<!-- 配置监控统计拦截的filters -->26.<property name="filters"><value>stat</value></property>27.<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->28.<property name="timeBetweenEvictionRunsMillis"><value>60000</value></property>29.<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->30.<property name="minEvictableIdleTimeMillis"><value>300000</value></property>31. <!--32.<property name="validationQuery"><value>SELECT 'x'</value></property>33.<property name="testWhileIdle"><value>true</value></property>34.<property name="testOnBorrow"><value>false</value></property>35.<property name="testOnReturn"><value>false</value></property>36.<property name="poolPreparedStatements"><value>true</value></property>37.<property name="maxOpenPreparedStatements"><value>20</value></property>38. -->39.</bean>40.41.<!-- mybatis配置 -->42.<bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">43.<property name="dataSource"ref="dataSource"/>44.</bean>45.</beans>3.web.xml整合SpringMVC和Mybatis[html]view plaincopyprint?1.<?xml version="1.0"encoding="UTF-8"?>2.<web-app xmlns:xsi="http://www.w/2001/XMLSchema-instance"xmlns="http:///xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee http:///xml/ns/javaee/web-app_3_0.xsd"version="3.0">3.<!--该servlet为tomcat,jetty等容器提供,将静态资源映射从/改为/static/目录,如原来访问http://localhost/foo.css,现在http://localhost/static/foo.css-->4.<!-- 不拦截静态文件 -->5.<servlet-mapping>6.<servlet-name>default</servlet-name>7.<url-pattern>/js/*</url-pattern>8.<url-pattern>/css/*</url-pattern>9.<url-pattern>/images/*</url-pattern>10.<url-pattern>/fonts/*</url-pattern>11.</servlet-mapping>12.13.<!-- 配置字符集 -->14.<filter>15.<filter-name>encodingFilter</filter-name>16.<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>17.<init-param>18.<param-name>encoding</param-name>19.<param-value>UTF-8</param-value>20.</init-param>21.<init-param>22.<param-name>forceEncoding</param-name>23.<param-value>true</param-value>24.</init-param>25.</filter>26.<filter-mapping>27.<filter-name>encodingFilter</filter-name>28.<url-pattern>/*</url-pattern>29.</filter-mapping>30.31. <!-- 初始化 DispatcherServlet时,该框架在 web应用程序WEB-INF目录中寻找一个名为[servlet-名称]-servlet.xml的文件,32.并在那里定义相关的Beans,重写在全局中定义的任何Beans -->33.<servlet>34.<servlet-name>springMybatis</servlet-name>35.<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>36.<load-on-startup>1</load-on-startup>37.</servlet>38.<servlet-mapping>39.<servlet-name>springMybatis</servlet-name>40.<!-- 所有的的请求,都会被DispatcherServlet处理 -->41.<url-pattern>/</url-pattern>42.</servlet-mapping>43.44.<context-param>45.<param-name>contextConfigLocation</param-name>46.<param-value>/WEB-INF/config/spring-*.xml</param-value>47.</context-param>48.<listener>49.<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>50.</listener>51.<!-- druid web 监控 -->52.<servlet>53.<servlet-name>DruidStatView</servlet-name>54.<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>55.</servlet>56.<servlet-mapping>57.<servlet-name>DruidStatView</servlet-name>58.<url-pattern>/druid/*</url-pattern>59.</servlet-mapping>60.61.<error-page>62.<error-code>404</error-code>63.<location>/error/404.jsp</location>64.</error-page>65.<error-page>66.<error-code>500</error-code>67.<location>/error/500.jsp</location>68.</error-page>69.</web-app>4.logback.xml日志配置[html]view plaincopyprint?1.<?xml version="1.0"encoding="UTF-8"?>2.<configuration>3.4.<appender name="STDOUT"class="ch.qos.logback.core.ConsoleAppender">5.<encoder>6.<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>7.</encoder>8.</appender>9.10.<logger name="test.LogbackTest"level="TRACE"/>11.12.<logger name="com.alibaba.controller.TestController"level="TRACE"/>13.14.<logger name="org.springframework.web.servlet.DispatcherServlet"level="DEBUG"/>15.<logger name="druid.sql"level="INFO"/><!-- 如果spring-config里面没有配置slf4j,就不会显示sql日志,logback只是slf4j的一个实现 -->16.<root level="debug">17.<appender-ref ref="STDOUT"/>18.</root>19.</configuration>5.configuration.properties配置[html]view plaincopyprint?1.jdbc.url=jdbc\:mysql\://localhost\:3306/druid?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior\=convertToNullername=root3.jdbc.password=1234566.测试搭建是否成功,后台代码首先是登录,用了加密,可以去掉[java]view plaincopyprint?1.package com.alibaba.controller;2.3.4.import javax.annotation.Resource;5.import javax.servlet.http.HttpServletRequest;6.7.import mons.codec.digest.DigestUtils;8.import org.slf4j.Logger;9.import org.slf4j.LoggerFactory;10.import org.springframework.stereotype.Controller;11.import org.springframework.web.bind.annotation.RequestMapping;12.import org.springframework.web.bind.annotation.RequestMethod;13.import org.springframework.web.bind.annotation.RequestParam;14.15.import er;16.import erService;17.import com.alibaba.util.RequestUtil;18.19./**20. * @author tfj21. * 2014-7-2622. */23.@Controller24.public class SystemController {25.private final Logger log = LoggerFactory.getLogger(SystemController.class);26.@Resource27.private UserService userService;28.29.@RequestMapping(value = "/",method = RequestMethod.GET)30.public String home() {31. ("返回首页!");32.return"index";33. }34.35.@RequestMapping(value = "/test/hello",method = RequestMethod.GET)36.public String testHello() {37. ("执行了testHello方法!");38.return"testHello";39. }40.41.@RequestMapping(value = "/login",method = RequestMethod.POST)42.public String testLogin(HttpServletRequest request,@RequestParam Stringusername, @RequestParam String password) {43. ("执行了testLogin方法!");44. User user = userService.findUserByName(username);45.if(user!=null){46.if(user.getPassword().equals(DigestUtils.md5Hex(password))){47. request.getSession().setAttribute("userId", user.getId());48. request.getSession().setAttribute("user", username);49.return"redirect:" + RequestUtil.retrieveSavedRequest();//跳转至访问页面50. }else{51. ("密码错误");52. request.getSession().setAttribute("message", "用户名密码错误,请重新登录");53.return"login";54. }55. }else{56. ("用户名不存在");57. request.getSession().setAttribute("message", "用户名不存在,请重新登录");58.return"login";59. }60. }61.}关于service和model就不写了,写一下mybatis的mapper类映射[html]view plaincopyprint?1.<?xml version="1.0"encoding="UTF-8"?>2.<!DOCTYPE mapper PUBLIC "-////DTD Mapper3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">3.<mapper namespace="erMapper">4.<select id="findUserByName"resultType="er">5. select id, username , password from sysuser where username = #{username}6.</select>7.</mapper>。

spring+springmvc+mybatis组合总结

spring+springmvc+mybatis组合总结

spring+springmvc+mybatis组合总结springmvc+spring+mybatis整合:1. 拷贝所需jar2. 创建spring配置⽂件(beans.xml)3. 配置数据源<bean id="dataSource" class="mons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property><property name="username" value="root"></property><property name="password" value=""></property></bean>4.创建SqlSessionFactory实例:<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 指定数据源 --><property name="dataSource" ref="dataSource"/><!-- 指定mybatis的配置⽂件 --><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!--映射接⼝扫描mapper包下的所有xml⽂件 mapper是个包名应该是在main测试的时候才使⽤--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.liu.mapper"></property></bean>5. 配置事务<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean>6. 配置事务的传播特性<tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="find*" read-only="true"/><tx:method name="get*" read-only="true"/><tx:method name="query*" read-only="true"/><tx:method name="add*" propagation="REQUIRED"/><tx:method name="update*" propagation="REQUIRED"/><tx:method name="del*" propagation="REQUIRED"/></tx:attributes></tx:advice>7. 配置AOP<!-- 配置AOP --><aop:config><!--配置切⾯必须要有空格 *空格 ssmy 否则会报错--><aop:config><aop:pointcut expression="execcution(*空格 ssmy.service.impl.*.*(..))" id="pointcut"/><aop:advisor advice-ref="txadvice" pointcut-ref="pointcut"/></aop:config>9. 配置DispatcherServlet<!-- 配置Spring核⼼控制器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>10. 创建springmvc-servlet.xml配置⽂件:<!-- 注解扫描器 --><context:component-scan base-package="com.liu"/><!-- 配置试图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean><import resource="classpath:beans.xml"/>。

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。

1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。

MyBaits Spring MVC JSP零基础搭建Web开发框架(注解模式)

MyBaits Spring MVC JSP零基础搭建Web开发框架(注解模式)

MyBaits Spring MVC JSP零基础搭建Web开发框架(注解模式)搭建开发环境:Netbeans8.0.2 + MySql5.6 + JDK1.7 + tomcat8.0.15本次采用的Spring MVC Jar包如下:spring-aop-4.1.3.RELEASE.jarspring-beans-4.1.3.RELEASE.jarspring-context-4.1.3.RELEASE.jarspring-context-support-4.1.3.RELEASE.jarspring-core-4.1.3.RELEASE.jarspring-expression-4.1.3.RELEASE.jarspring-jdbc-4.1.3.RELEASE.jarspring-oxm-4.1.3.RELEASE.jarspring-tx-4.1.3.RELEASE.jarspring-web-4.1.3.RELEASE.jarspring-webmvc-4.1.3.RELEASE.jar当然还有其他的依赖jar,如有需要请留下邮箱~!1.首先创建Web项目web.mvc2.引入所有的jar文件3.配置web.xml做web开发的都知道,web.xml是项目的入口,我们既然使用spring那么当然要添加Spring 的支持啦!spring默认加载的是applicationContext.xml,由于我们需要集成MyBatis所以我把Spring的配置文件强制指定名称,并与MyBatis一起配置,减少配置文件数量先指定spring配置文件名名称与路径[html]view plaincopyprint?1.<!-- Spring 上下文参数加载Spring配置文件 -->2.<context-param>3.<param-name>contextConfigLocation</param-name>4.<param-value>classpath*:xmlconfig/springmvc-mybatis.xml</param-value>5.</context-param>再执行Spring上下文监听配置[html]view plaincopyprint?1.<listener>2.<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>3.</listener>添加支持Spring mvc 的配置说明:添加支持目前有3种方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档