本文主要展示如何在intellij IDEA中通過maven構建springmvc+mybatis框架的開發環境。
需求:使用springmvc和mybatis完成商品列表查詢
第一步:整合dao層
mybatis和spring整合,通過spring管理mapper接口。 使用mapper的掃描器自動掃描mapper接口在spring中進行注冊。第二步:整合service層
通過spring管理service接口。 使用配置方式將service接口配置在spring配置文件中。 實現事務控制。第三步:整合springmvc
由於springmvc是spring的模塊,不需要整合。不同於《mybatis學習筆記(17)-spring和mybatis整合》中的示例demo,本文的整合采用maven構建。
如何創建使用maven構建的web應用可以參考前面的一篇《springmvc學習筆記(1)-框架原理和入門配置》
new->project->maven
,建一個裸的maven工程,手動建webapp的目錄
在src/main
下新建文件夾webapp
pom.xml文件
<code class="language-xml hljs "><!--{cke_protected}{C}%3C!%2D%2D%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%2D%2D%3E--> <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>com.iot.learnssm</groupid> <artifactid>learnssm-firstssm</artifactid> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <project.build.sourceencoding>UTF-8</project.build.sourceencoding> <!--{cke_protected}{C}%3C!%2D%2D%20jar%20%E7%89%88%E6%9C%AC%E8%AE%BE%E7%BD%AE%20%2D%2D%3E--> <spring.version>4.2.4.RELEASE</spring.version> </properties> <dependencies> <!--{cke_protected}{C}%3C!%2D%2D%20spring%E6%A1%86%E6%9E%B6%2D%2D%3E--> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-orm</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-aspects</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-test</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-jdbc</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>5.1.38</version> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> <version>3.3.1</version> </dependency> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis-spring</artifactid> <version>1.2.4</version> </dependency> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>1.2.17</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>1.7.18</version> </dependency> <dependency> <groupid>commons-dbcp</groupid> <artifactid>commons-dbcp</artifactid> <version>1.4</version> </dependency> <!--{cke_protected}{C}%3C!%2D%2D%20JSP%20tag%20%2D%2D%3E--> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.2</version> </dependency> <dependency> <groupid>taglibs</groupid> <artifactid>standard</artifactid> <version>1.1.2</version> </dependency> </dependencies> </project></code>
這裡添加的依賴可能有多的,但總比少包好,我開始就是引少了依賴(springframework的依賴只引用了spring-mvc,連spring-core都沒引),導致報錯,以後會出一篇博客專門講這個系列筆記中debug相關問題。
在java目錄下建各個package,按照maven的明明習慣:
com.公司名.項目名.模塊名
這裡我的包為:
com.iot.learnssm.firstssm
包含幾個子包:
controller mapper po service項目結構如圖:
後面幾篇筆記會依次記錄mapper,service,controller各個部分的整合