Spring MVC + Spriing + MyBatis整合,写给新人

开发环境:

开发工具:MyEclipse 8.6

数据库:MySQL

操作系统:WIN8.1

Jar包:

Spirng和SpringMVC版本:3.2.9

MyBatis版本:3.2.8

其他关联Jar包如图:

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

OK , 准备的东西齐全了 。这就动手,先用MyEclipse新建一个网站工程,然后将所有的Jar包放到WebRoot/WEB-INF/lib文件夹下面。

首先配置web.xml文件,增加Spring的支持

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

  <context-param>
      <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:applicationDataSource.xml</param-value>
  </context-param>

接着在src下建立

applicationDataSource.xml

jdbc.properties文件

mybatis-config.xml

以上三个文件

mybatis-config.xml 文件自然就是MyBatis的配置了,其实只用到了拦截器,后面我们会看到。jdbc.properties文件里面配置具体的数据库信息,在applicationDataSource.xml文件中读取
先看jdbc.properties的内容:

这里简单配置了数据库的一些信息,我们现在看applicationDataSource.xml文件中的配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xmlns:p="http://www.springframework.org/schema/p"
 6     xmlns:aop="http://www.springframework.org/schema/aop"
 7     xmlns:tx="http://www.springframework.org/schema/tx"
 8     xmlns:mvc="http://www.springframework.org/schema/mvc"
 9     xsi:schemaLocation="
10     http://www.springframework.org/schema/beans
11     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
12     http://www.springframework.org/schema/aop
13     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
14     http://www.springframework.org/schema/tx
15     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
16     ">
17   <!-- 这里我用了aop:aspectj-autoproxy,如果使用aop有对类的配置的话就派上用场了。个人习惯而已 -->
18     <aop:aspectj-autoproxy proxy-target-class="true"/>
19
20     <!-- 载入jdbc.properties文件 -->
21     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
22         <property name="locations">
23             <list><value>classpath:jdbc.properties</value></list>
24         </property>
25     </bean>
26
27    <!-- 配置数据源 ,注意value部分的配置写法 -->
28     <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource"
29         destroy-method="close">
30         <property name="driverClassName" value="${driverClassName}" />
31         <property name="url" value="${url}" />
32         <property name="username" value="${username}" />
33         <property name="password" value="${password}" />
34         <!-- 数据库连接池保持的最小连接数 -->
35         <property name="minIdle" value="${minIdle}" />
36         <!-- 数据库连接池保持的最大连接数 -->
37         <property name="maxIdle" value="${maxIdle}" />
38         <!--
39             当数据库连接因为某种原因断掉之后,再重新从连接池中拿另外一个连接时实际上这个连接可能
40             已经无效,所以为了确保所拿到的连接全都有效需要在获取连接,返回连接以及连接空闲时进行 有效性验证
41             下面3个设置为ture时进行验证,默认为false
42         -->
43         <!-- 取得连接时是否进行有效性验证 -->
44         <property name="testOnBorrow" value="true" />
45         <!-- 返回连接时是否进行有效性验证 -->
46         <property name="testOnReturn" value="true" />
47         <!-- 连接空闲时是否进行有效性验证 -->
48         <property name="testWhileIdle" value="true" />
49
50     </bean>
51   <!-- 配置sqlSessionFactory ,注意mapperLocations的配置,这个路径里面存放了MyBatis的Mapper文件,configLocation则加载了mybatis-config.xml文件,不需要的可以不配置 -->
52     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
53         <property name="configLocation" value="classpath:mybatis-config.xml"/>
54          <property name="dataSource" ref="datasource"/>
55          <property name="mapperLocations">
56              <list>
57                  <value>classpath:org/springmvc_demo/mapper/*.xml</value>
58              </list>
59          </property>
60     </bean>
61
62     <!-- JDBC的事务管理 -->
63     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
64         <property name="dataSource" ref="datasource"/>
65     </bean>
66
67     <!-- 事务管理对应的方法规则 -->
68     <tx:advice transaction-manager="transactionManager" id="txAdvice">
69         <tx:attributes>
70             <tx:method name="add*" propagation="REQUIRED"/>
71             <tx:method name="save*" propagation="REQUIRED"/>
72             <tx:method name="update*" propagation="REQUIRED"/>
73             <tx:method name="modify*" propagation="REQUIRED"/>
74             <tx:method name="del*" propagation="REQUIRED"/>
75             <tx:method name="delete*" propagation="REQUIRED"/>
76             <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
77             <tx:method name="query*" propagation="SUPPORTS" read-only="true"/>
78             <tx:method name="*" read-only="true"/>
79         </tx:attributes>
80     </tx:advice>
81
82     <aop:config>
83        <!-- 这里的配置应用事务管理的包名我提前准备好了,根据自己的实际情况修改包名,但是事物管理还是建议在业务逻辑层控制 -->84         <aop:pointcut expression="execution(* org.springmvc_demo.service.impl.*.*(..))" id="transactionAop"/>
85         <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionAop"/>
86     </aop:config>
87      <!-- 我们需要一个 sqlSessionTemplate对象,使用看之后的代码配置-->88     <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
89         <constructor-arg index="0" ref="sqlSessionFactory"/>
90     </bean>
91
92 </beans>

Spring的配置到此结束,我们在来到web.xml中增加SpringMVC的配置。

这里配置文件我没有使用默认的路径,而是将springmvc的配置文件放到了src根目录下,<load-on-startup>1</load-on-startup>这个一定要加上。注意url-pattern的配置,不要修改。

 1 <servlet>
 2       <servlet-name>springMVC</servlet-name>
 3       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 4       <init-param>
 5         <param-name>contextConfigLocation</param-name>
 6         <param-value>classpath*:applicationContext.xml</param-value>
 7       </init-param>
 8       <load-on-startup>1</load-on-startup>
 9   </servlet>
10
11   <servlet-mapping>
12       <servlet-name>springMVC</servlet-name>
13       <url-pattern>/</url-pattern>
14   </servlet-mapping>

web.xml文件修改完毕后,我们来看SpringMVC的配置文件的内容

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xmlns:p="http://www.springframework.org/schema/p"
 6     xmlns:context="http://www.springframework.org/schema/context"
 7     xmlns:mvc="http://www.springframework.org/schema/mvc"
 8     xsi:schemaLocation="
 9     http://www.springframework.org/schema/beans
10     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
11     http://www.springframework.org/schema/context
12     http://www.springframework.org/schema/context/spring-context-3.0.xsd
13     http://www.springframework.org/schema/mvc
14     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
15     ">
16
17     <!-- 包扫描的配置放在了SpringMVC加载的配置文件中,否则将无法正常工作 -->
18     <context:component-scan base-package="org.springmvc_demo"/>
19     <mvc:annotation-driven/>
20
21     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
22         <property name="prefix" value="/"/>
23         <property name="suffix"  value=".jsp"/>
24         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
25     </bean>
26 </beans>

OK ,这里的配置就到此为止,需要其他功能的自行配置,唯一需要注意的是我没有在这里对静态资源做配置,这样的话html,css等静态资源按照上面web.xml中的配置将无法正常使用。所以我们还需要再次返回web.xml增加对静态资源的配置。

 1   <servlet-mapping>
 2       <servlet-name>default</servlet-name>
 3       <url-pattern>*.html</url-pattern>
 4   </servlet-mapping>
 5
 6   <servlet-mapping>
 7       <servlet-name>default</servlet-name>
 8       <url-pattern>*.htm</url-pattern>
 9   </servlet-mapping>
10
11   <servlet-mapping>
12       <servlet-name>default</servlet-name>
13       <url-pattern>*.js</url-pattern>
14   </servlet-mapping>
15
16   <servlet-mapping>
17       <servlet-name>default</servlet-name>
18       <url-pattern>*.css</url-pattern>
19   </servlet-mapping>
20
21   <servlet-mapping>
22       <servlet-name>default</servlet-name>
23       <url-pattern>*.jpg</url-pattern>
24   </servlet-mapping>
25
26    <servlet-mapping>
27       <servlet-name>default</servlet-name>
28       <url-pattern>*.png</url-pattern>
29   </servlet-mapping>
30
31    <servlet-mapping>
32       <servlet-name>default</servlet-name>
33       <url-pattern>*.gif</url-pattern>
34   </servlet-mapping>

加上以上的配置,静态资源就可以正常访问了。
到此为止,SpringMVC +Spring + MyBatis的配置文件就基本配置完毕了。

时间: 2024-08-25 16:16:29

Spring MVC + Spriing + MyBatis整合,写给新人的相关文章

Spring、Spring MVC、MyBatis整合文件配置详解

使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Spring:http://spring.io/docs MyBatis:http://mybatis.github.io/mybatis-3/ 基本的组织结构和用法就不说了,前面的博客和官方文档上都非常的全面.jar包可以使用Maven来组织管理.来看配置文件. web.xml的配置                                           

Spring、Spring MVC、MyBatis

Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Spring:http://spring.io/docs MyBatis:http://mybatis.github.io/mybatis-3/ 基本的组织结构和用法就不说了,前面的博客和官方文档上都非常的全面.jar包可以使用Maven来组织管理.来看配置文件. web.xml的配置         

IDEA下创建Maven项目,并整合使用Spring、Spring MVC、Mybatis框架

项目创建 本项目使用的是IDEA 2016创建.项目使用Spring 4.2.6,Mybatis3.4.0,Tomcat使用的是Tomcat8,数据库为MySQL. 首先电脑安装Maven,接着打开IDEA新建一个project,选择Maven,选择图中所选项,下一步. 填写好GroupId和ArtifactId,GroupId在公司中一般都是域名的逆序,ArtifactId用来标明该项目是用来做什么的,接着下一步. 添加一个archetypeCatalog,值为internal可以加速项目的创

Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc、Mybatis)视频教程

Extjs5.0从入门到实战开发信息管理系统(Extjs基础.Extjs5新特性.Spring.Spring mvc.Mybatis)视频教程下载   联系QQ:1026270010 Extjs作为一款优秀的JS前端开发框架以其良好的架构.丰富的UI组件库.完善的文档和社区支持等诸多优点拥有广泛的市场应用空间,开发人员无需过多的关注HTML.CSS甚至各种常用JS算法,只需把精力放在业务逻辑上,利用各种组件的相互组合调用便可轻松而高效的开发出系统的前端页面. Extjs5在之前版本的基础上又推出

Spring mvc+ maven + MyBatis + Oracle + IDEA 项目搭建 - framework 进阶中(一)

原文链接 http://blog.csdn.net/qq184377902/article/details/51493642 结合自身情况加以修改搭建的框架,记录以防备忘,方便日后学习参考. Before building the project framework  ... 项目环境 IntelliJ IDEA 2016.1.2.JDK 1.8.0_31.Apache-maven-3.5.0.Tomcat-9.0.0.M11 Maven项目搭建 自行百度 .. Build project fr

ssm(spring,spring mvc,mybatis)框架

ssm框架各个技术的职责 spring :spring是一个IOC DI AOP的 容器类框架 spring mvc:spring mvc 是一个mvc框架 mybatis:是一个orm的持久层框架 一般web项目的架构: jsp界面 ===> 控制层(Controller)== >业务逻辑层(Service)==>持久化层(dao)== >数据库层(Database) spring 框架是一个容器,作用在所有层. spring mvc 主要作用在控制层 mybatis主要作用在持

spring MVC、mybatis配置读写分离

spring MVC.mybatis配置读写分离 1.环境: 3台数据库机器,一个master,二台slave,分别为slave1,slave2 2.要实现的目标: ①使数据写入到master ②读数据时,从slave1和slave2中读取 以此来实现数据库的读写分离 3.原理: 使用MySQL驱动自带的replicationDriver来实现,replicationDriver简单来说就是存在两个Connection,一个masterConnection,一个slaveConnection:

spring、spring mvc、mybatis框架整合基本知识

学习了一个多月的框架知识了,这两天很想将它整合一下.网上看了很多整合案例,基本都是基于Eclipse的,但现在外面公司基本都在用Intellij IDEA了,所以结合所学知识,自己做了个总结,有不足之处欢迎指正. 首先,我是参考了http://blog.csdn.net/zhshulin/article/details/37956105这篇做的Intellij IDEA翻版.Intellij IDEA的许多操作方式与习惯与eclipse区别很大,所以很容易走入误区.直接上操作吧. 1.基本概念

Velocity + log4j + Spring MVC + Spirng + MyBatis + Maven整合

1. 整合Spring和MyBatis 注意:(1) 如果Mapper接口的名称是HelloWorldMapper,则对应的mapper映射文件也应该名称为HelloWorldMapper.xml或者是helloWorldMapper.xml. (2) 对于Maven项目而言,我们通常会把配置文件放到resources目录下面的,对于HelloWorldMapper.xml文件我也喜欢放到该目录下面.但是如果直接放到该目录下面是找不到该mapper映射文件的.如果直接放到src/main/jav