Spring+Springmvc+MyBatis整合 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【m.clearvueentertainment.com - 電腦資料】

    寫在整合之前

    現(xiàn)在剛進入公司,公司采用的是SSM框架,使用Maven搭建工程,之前自己學(xué)的是SSH,所以入門相對還可以,覺得不是太難,在進入公司這一周多的時間,自己覺得有以下幾點很重要:

在公司里,框架他只是要求你了解,熟悉公司的框架,真正要用到的還是java基礎(chǔ)的公司,因為最重要的是業(yè)務(wù),

Spring+Springmvc+MyBatis整合

。 框架入門也不是太難,只是想深入了解就有點麻煩,很多原理和理論性的問題很難理解,得有一個宏觀的概念。 在以后的時間內(nèi)一定要深入了解主流的框架

一、基本概念

    spirng

    springmvc

    myBatis

    三大框架的基本概念就不解釋了,因為剛開始都肯定了解,寫了也沒有太大的意義存在,但是得知道他們各自負責(zé)什么功能。

二、SSM整合

    整合的思路就從項目的整體結(jié)構(gòu)、配置文件和實現(xiàn)類入手,因為只是搭建一個SSM環(huán)境,業(yè)務(wù)功能只寫了一個,還請見諒。

項目的整體結(jié)構(gòu)

   

    Maven項目采用了約定的形式:

src/main/java 存放java文件 src/main/resources 存放配置文件 src/test/java 存放測試類 src/test/resources 存放測試類的資源文件 pom.xml Maven的配置文件

    這個小項目采用的是spring4.2.3+MyBatis3.2.6版本,應(yīng)該算是比較新的,Maven項目剛開始做的話我覺得pom.xml文件配置比較麻煩,不知道具體使用哪個依賴包,導(dǎo)致Maven工程老是不成功,這也是初學(xué)者的一個麻煩點,雖然不是難點,咋這里,我給出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整合》(http://m.clearvueentertainment.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>

運行效果:

   

總結(jié)

    這是一個很小很小的項目,但是包含了SSM需要的所有配置,不管是大項目還是小項目,總的來說基本用的都是這些配置文件,在可以搭建起來SSM環(huán)境之后才可以進一步深入了解其原理,不然只談理論,沒有技術(shù)支撐,也沒有什么卵用。

    配置文件包括幾個:

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

    在spring3之后注解慢慢開始代替配置文件的一部分功能,也簡化了配置文件的配置難度,學(xué)的時間不長,這個教程只適合初學(xué)者學(xué)習(xí),如有紕漏,請指導(dǎo)。

    項目源碼:鏈接:http://pan.baidu.com/s/1bnoMA4Z 密碼:43ob

最新文章