寫這篇教程純屬是覺得SSM框架用起來實在是太舒服了,很簡單也很容易理解,也極大的提升了程式猿的程式設計能力,小弟希望可以給予各位親們一定的幫助,好了不多說了,看我操作就行了。
執行環境:Eclipse+Mysql
一.建立一個Maven Project
二.修改pom.xml,匯入dtd檔案(dtd檔案是對映的時候用的)
貼上pom.xml程式碼:
(PS:其中引用了一些其他的jar包可以不用管)
<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>MySSM</groupId>
<artifactId>MyTestSSM</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<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>ctest</groupId>
<artifactId>ctest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<spring.version>4.3.3.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 加入ServletAPI -->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- MySQL依賴 start -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- MySQL依賴 end -->
<!-- 加入MyBatis 依賴 start -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
<!-- mybatis-generator-core 反向生成java程式碼 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<!-- 加入MyBatis 依賴 end -->
<!-- Log4j start -->
<!-- log4j-slf4j-impl -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.6.2</version>
</dependency>
<!-- log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<!-- Log4j end -->
<!-- 引入Spring(包含SpringMVC) 依賴 start -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 引入Spring 依賴 end -->
<!-- 引用c3p0 依賴 start -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.2.1</version>
</dependency>
<!-- 引用c3p0 依賴 end -->
<!-- 引用外掛依賴:MyBatis整合Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- dom4j 用dom4j能更方便的處理微信平臺發過來的xml -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<!-- fastjson 這裡只在junit test中有用到 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.32</version>
</dependency>
<!-- fasterxml.jackson start -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
<!-- fasterxml.jackson end -->
<!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!-- commons-httpclient 微信素材上傳-->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0</version>
</dependency>
</dependencies>
</project>
三.建立相關檔案
建立包
建立各種類和檔案
這裡需要注意的是dao中對映檔案的建立點選Eclipse上的導航欄>Windows>Preferences>搜尋XML>選擇XML CataLog>點選add這個時候需要新增一個dtd檔案(相關檔案會放到我的github專案中),點選OK即可
這裡配置好之後,我們去dao包裡建立xml檔案,也就是對映檔案
然後點選next 建立一個跟你dao名字一致的xml檔案,如下
然後直接點選next>finish這時候我們的檔案基本就建立好了
這裡要再配置一下ssm的配置檔案applicationContext.xml,我在這裡整合了一下
四.編寫程式碼
本人作為新手根據個人習慣來編寫,我個人喜歡從dao先開始寫,比如你這個功能要做什麼事,本系統首先是要註冊,那我第一部就要寫一個註冊功能的dao介面,我取名為addUser(請遵循書寫規範),建立好介面之後則要編寫sql語句,就是在剛才建立的UserDao.xml中編寫。
1.dao程式碼
2.貼上部分xml程式碼
3.dao層寫好之後就去寫service層,這個service主要功能是控制事務,實現業務,並且可以進行邏輯處理
service介面定義的方法通常是你這個功能的意思,我就簡單寫了為addUser,方便讀者讀懂就好了
附上service介面程式碼
接下來就要寫service的實現類了,這個時候要尤其注意,在實現類中要加入註解
@Service(業務註解) @Transactional(事務註解) @Autowired(對類成員變數、方法及建構函式進行標註,完成自動裝配的工作)
詳細程式碼如下
最後我們去寫控制器,在controller類中要加入註解@Controller(控制器的註解)
詳細程式碼如下(這裡貼了登入的方法,有興趣的看一下)
簡單的構造一下注冊的頁面這裡沒有進行相關的判斷,有興趣的人可以自己研究的時候新增
然後就可以直接跑專案了,進入regist.jsp,註冊頁面註冊你的帳號
建立自己的卡號和密碼,點選註冊
切記:不要建立資料庫已經存在的帳號,否則直接GG!
註冊完成之後會跳轉到login.jsp,這時候只要輸入你剛才建立的卡號和密碼即可完成登入
點選之後跳轉到index.jsp,我們的ssm框架也就搭建好了
首先感謝閱讀,我是一個小白程式猿,如果有理解不足的地方還請多多指教,謝謝。
github原始碼下載:https://github.com/ChenSye/mytestssm.git(11.30更新版本)