Spring+Springmvc+MyBatis整合 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    写在整合之前

    现在刚进入公司,公司采用的是SSM框架,使用Maven搭建工程,之前自己学的是SSH,所以入门相对还可以,觉得不是太难,在进入公司这一周多的时间,自己觉得有以下几点很重要:

在公司里,框架他只是要求你了解,熟悉公司的框架,真正要用到的还是java基础的公司,因为最重要的是业务,

Spring+Springmvc+MyBatis整合

。 框架入门也不是太难,只是想深入了解就有点麻烦,很多原理和理论性的问题很难理解,得有一个宏观的概念。 在以后的时间内一定要深入了解主流的框架

一、基本概念

    spirng

    springmvc

    myBatis

    三大框架的基本概念就不解释了,因为刚开始都肯定了解,写了也没有太大的意义存在,但是得知道他们各自负责什么功能。

二、SSM整合

    整合的思路就从项目的整体结构、配置文件和实现类入手,因为只是搭建一个SSM环境,业务功能只写了一个,还请见谅。

项目的整体结构

   

    Maven项目采用了约定的形式:

src/main/java 存放java文件 src/main/resources 存放配置文件 src/test/java 存放测试类 src/test/resources 存放测试类的资源文件 pom.xml Maven的配置文件

    这个小项目采用的是spring4.2.3+MyBatis3.2.6版本,应该算是比较新的,Maven项目刚开始做的话我觉得pom.xml文件配置比较麻烦,不知道具体使用哪个依赖包,导致Maven工程老是不成功,这也是初学者的一个麻烦点,虽然不是难点,咋这里,我给出pom.xml的所有配置。

<code class="hljs xml"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelversion>4.0.0</modelversion><groupid>ssm4</groupid>ssm4<version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>ssm4</name><description><properties><project.build.sourceencoding>UTF-8</project.build.sourceencoding><spring.version>4.2.3.RELEASE</spring.version><junit.version>4.11</junit.version><mybatis.version>3.2.6</mybatis.version><mysql.version>5.1.37</mysql.version><servlet-api.version>3.0-alpha-1</servlet-api.version><jsp-api.version>2.2</jsp-api.version><jstl.version>1.2</jstl.version><ojdbc14.version>10.2.0.4.0</ojdbc14.version><fastjson.version>1.1.39</fastjson.version><commons-dbcp2.version>2.0</commons-dbcp2.version><commons-pool2.version>2.2</commons-pool2.version><commons-logging.version>1.1.3</commons-logging.version><commons-io.version>1.3.2</commons-io.version><commons-lang3.version>3.3.1</commons-lang3.version><commons-fileupload.version>1.2.1</commons-fileupload.version><log4j.version>1.2.17</log4j.version><slf4j.version>1.7.6</slf4j.version><dom4j.version>1.6.1</dom4j.version><jfreechart.version>1.0.17</jfreechart.version><shiro.version>1.2.3</shiro.version>1.7.4<b>0.8.0.RELEASE</bonecp.version><druid.version>1.0.4</druid.version><c3p0.version>0.9.5.1</c3p0.version><testng.version>6.8.8</testng.version><freemarker.version>2.3.20</freemarker.version><velocity.version>1.7</velocity.version><tapestry.version>5.3.7</tapestry.version>4.2<cglib.version>3.1</cglib.version></properties><b><plugins><plugin>maven-compiler-plugin<version>2.3.2</version><configuration><source>1.7<target>1.7</target></source></configuration><source><source></source></source></plugin><source><source><source><plugin>maven-war-plugin<version>2.2</version><configuration><version>3.1</version><failonmissingwebxml>false</failonmissingwebxml></configuration></plugin></source></source></source></plugins><source><source><source><source></source></source></source></source></build><source><source><source><source><source><dependencies><dependency><groupid>junit</groupid>junit<version>${junit.version}</version><scope>test</scope></dependency><dependency><groupid>org.springframework</groupid>spring-core<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-beans<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-context<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-jdbc<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-web<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-webmvc<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-aop<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-tx<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-orm<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-context-support<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-test<version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-jms<version>${spring.version}</version></dependency><dependency><groupid>org.mybatis</groupid>mybatis<version>${mybatis.version}</version></dependency><dependency><groupid>org.mybatis</groupid>mybatis-spring<version>1.2.2</version></dependency><dependency><groupid>org.mybatis.caches</groupid>mybatis-ehcache<version>1.0.2</version></dependency><dependency><groupid>mysql</groupid>mysql-connector-java<version>${mysql.version}</version></dependency><dependency><groupid>commons-logging</groupid>commons-logging<version>${commons-logging.version}</version></dependency><dependency><groupid>log4j</groupid>log4j<version>${log4j.version}</version></dependency><dependency><groupid>org.slf4j</groupid>slf4j-log4j12<version>${slf4j.version}</version></dependency><dependency><groupid>org.slf4j</groupid>slf4j-api<version>${slf4j.version}</version></dependency><dependency><groupid>javax.servlet.jsp</groupid>jsp-api<version>${jsp-api.version}</version></dependency><dependency><groupid>javax.servlet</groupid>servlet-api<version>${servlet-api.version}</version></dependency><dependency><groupid>javax.servlet</groupid>jstl<version>${jstl.version}</version></dependency><dependency><groupid>org.springframework</groupid>spring-test<version>${spring.version}</version></dependency><dependency><groupid>junit</groupid>junit<version>${junit.version}</version></dependency><dependency><groupid>org.testng</groupid>testng<version>${testng.version}</version></dependency><dependency><groupid>org.apache.commons</groupid>commons-io<version>${commons-io.version}</version></dependency><dependency><groupid>org.apache.commons</groupid>commons-lang3<version>${commons-lang3.version}</version></dependency><dependency><groupid>org.apache.commons</groupid>commons-collections4<version>4.0</version></dependency><dependency><groupid>org.kuali.commons</groupid>commons-beanutils<version>1.8.3-kuali-4</version></dependency><dependency><groupid>org.aspectj</groupid>aspectjweaver<version>${aspectjweaver.version}</version></dependency><dependency><groupid>dom4j</groupid>dom4j<version>${dom4j.version}</version></dependency><dependency><groupid>com.mchange</groupid>c3p0<version>${c3p0.version}</version></dependency></dependencies></source></source></source></source></source></description></project></code>

Spring和MyBatis进行整合

    spring和MyBatis整合的配置文件

<code class="hljs xml"><context:component-scan base-package="cn.shopin.manage"></context:component-scan><b><property name="location" value="classpath:jdbc.properties"></property></bean><b><property name="driverClassName" value="${jdbc.driver}"><property name="url" value="${jdbc.url}"><property name="username" value="${jdbc.username}"><property name="password" value="${jdbc.password}"></property></property></property></property></bean><b><property name="dataSource" ref="dataSource"></property><property name="mapperLocations" value="classpath*:cn/shopin/manage/mapper/*.xml"></property></bean><b><property name="basePackage" value="cn.shopin.manage.mapper"></property><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property></bean><b><property name="dataSource" ref="dataSource"></property></bean></code>

    MyBatis的映射文件

<code class="hljs xml"><mapper namespace="cn.shopin.ssm.mapper.PersonMapper"><select id="listAll" resulttype="cn.shopin.ssm.domain.Person">select * from person</select></mapper></code>

    MyBatis的配置文件

    因为和spring进行了整合,MyBatis的配置文件基本上不用写其他信息,

电脑资料

Spring+Springmvc+MyBatis整合》(https://www.unjs.com)。

<code class="hljs xml"><configuration></configuration></code>

    到这里,spring和MyBatis就算是整合完成。

Spring和springmvc整合

    springmvc是包含在spring中的,基本上是不需要单独在配置什么。

<code class="hljs xml"><context:component-scan base-package="cn.shopin.ssm.web.controller"></context:component-scan><mvc:annotation-driven></mvc:annotation-driven><b><property name="prefix" value="/WEB-INF/pages"><property name="suffix" value=".jsp"></property></property></bean></code>

    Controller层:

<code class="hljs java">@Controllerpublic class PersonController {    @Resource    PersonService personService;    @RequestMapping("person/listAll.action")    public String listAll(Model model){        List personList = personService.listAll();        model.addAttribute("personList", personList);        return "/person/jPersonList";    }}</code>

web.xml文件的配置:

<code class="hljs lasso"><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:spring/spring-mybatis.xml</param-value></context-param><li><li>org.springframework.web.context.ContextLoaderListener</listener-class></listener><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/springmvc-servlet.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.action</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></code>

运行效果:

   

总结

    这是一个很小很小的项目,但是包含了SSM需要的所有配置,不管是大项目还是小项目,总的来说基本用的都是这些配置文件,在可以搭建起来SSM环境之后才可以进一步深入了解其原理,不然只谈理论,没有技术支撑,也没有什么卵用。

    配置文件包括几个:

web.xml spring-mybatis.xml springmvc.xml mybatis.xml

    在spring3之后注解慢慢开始代替配置文件的一部分功能,也简化了配置文件的配置难度,学的时间不长,这个教程只适合初学者学习,如有纰漏,请指导。

    项目源码:链接:http://pan.baidu.com/s/1bnoMA4Z 密码:43ob

最新文章