03.06 spring+springmvc+mybatis+maven入門實戰(超詳細教程)

這篇文章主要介紹了spring+springmvc+mybatis+maven入門實戰(超詳細教程),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

入門篇

本篇文章涉及到的技術有spring、springmvc、mybatis、mysql、xml、maven、jsp、javase、javaweb、eclipse

下面開始本篇文章的教程

一、新建maven項目

一般通過這種方法新建maven項目

spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

假如你的eclipse不能通過上面的方法新建maven項目,也可以通過下面的方法新建maven項目


spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

看到下面的項目結構,說明你已經成功創建了一個maven項目。但是這個項目報錯,根據標準的web項目結構來說,目前這個項目缺少了web.xml


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

利用eclipse自動生成web.xml


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

看到這個項目已經沒有報錯,說明已經成功生成了web.xml


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

二、Maven配置

下面是該項目的maven配置,在pom.xml進行以下配置

<code><project>    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.wffanshao/<groupid>
<artifactid>test/<artifactid>
<version>0.0.1-SNAPSHOT/<version>
<packaging>war/<packaging>

<properties>

<spring.version>4.3.6.RELEASE/<spring.version>
/<properties>

<dependencies>


<dependency>
<groupid>org.springframework/<groupid>
<artifactid>spring-aop/<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-beans/<artifactid>
<version>${spring.version}/<version>
/<dependency>
<dependency>
<groupid>org.springframework/<groupid>
<artifactid>spring-context/<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-expression/<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-tx/<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-webmvc/<artifactid>
<version>${spring.version}/<version>
/<dependency>


<dependency>
<groupid>org.mybatis/<groupid>
<artifactid>mybatis/<artifactid>
<version>3.4.2/<version>
/<dependency>


<dependency>
<groupid>org.mybatis/<groupid>
<artifactid>mybatis-spring/<artifactid>
<version>1.3.1/<version>
/<dependency>


<dependency>
<groupid>aopalliance/<groupid>
<artifactid>aopalliance/<artifactid>
<version>1.0/<version>
/<dependency>
<dependency>
<groupid>asm/<groupid>
<artifactid>asm/<artifactid>
<version>3.3.1/<version>
/<dependency>
<dependency>
<groupid>org.aspectj/<groupid>
<artifactid>aspectjweaver/<artifactid>
<version>1.8.1/<version>
/<dependency>
<dependency>
<groupid>cglib/<groupid>
<artifactid>cglib/<artifactid>
<version>2.2.2/<version>
/<dependency>


<dependency>
<groupid>mysql/<groupid>
<artifactid>mysql-connector-java/<artifactid>
<version>5.1.44/<version>
/<dependency>


<dependency>
<groupid>commons-dbcp/<groupid>
<artifactid>commons-dbcp/<artifactid>
<version>1.4/<version>
/<dependency>
<dependency>
<groupid>commons-pool/<groupid>
<artifactid>commons-pool/<artifactid>
<version>1.6/<version>
/<dependency>
<dependency>
<groupid>commons-logging/<groupid>
<artifactid>commons-logging/<artifactid>
<version>1.1.1/<version>
/<dependency>


<dependency>
<groupid>javax.servlet/<groupid>
<artifactid>jstl/<artifactid>
<version>1.2/<version>
/<dependency>





<dependency>
<groupid>org.slf4j/<groupid>
<artifactid>slf4j-api/<artifactid>
<version>1.7.5/<version>
/<dependency>
<dependency>
<groupid>org.slf4j/<groupid>
<artifactid>slf4j-log4j12/<artifactid>
<version>1.7.5/<version>
/<dependency>


<dependency>
<groupid>org.javassist/<groupid>
<artifactid>javassist/<artifactid>
<version>3.18.1-GA/<version>
/<dependency>

/<dependencies>

<build>

<finalname>test/<finalname>
<plugins>

<plugin>
<groupid>org.apache.maven.plugins/<groupid>
<artifactid>maven-compiler-plugin/<artifactid>
<configuration>
<source>1.8/<source>
<target>1.8/<target>
/<configuration>
/<plugin>
/<plugins>
/<build>


<repositories>
<repository>
people.apache.snapshots

http://repository.apache.org/content/groups/snapshots-group/

<releases>
<enabled>false/<enabled>
/<releases>
<snapshots>
<enabled>true/<enabled>
/<snapshots>
/<repository>
/<repositories>

/<project>/<code>

三、搭建ssm環境

1.在src/main/java新建4個包、在src/main/resources下新建2個包以及2個properties文件、在webapp/WEB-INF下新建1個文件夾,包名、文件名以及文件夾名如圖所示。

src/main/java:一般用來存放java文件

src/main/resources:一般用來存放ssm相關的配置文件

src/test/java和src/test/resources:一般用來存放測試文件,這兩個包下的文件不會被編譯、打包等

webapp/WEB-INF:一般用來存放普通用戶訪問不到而管理員可以訪問的web動態頁面


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

2.配置log4j日誌文件

log4j.properties代碼如下,有些網友在複製樓主的代碼會產生亂碼,這是由於eclipse的properties文件默認編碼為ISO-8859-1

我們需要將編碼設置為UTF-8

<code>##### Global logging configuration
##### 在開發環境下日誌級別設置成DEBUG,生產環境設置成INFO或ERROR
log4j.rootLogger=DEBUG, stdout
##### mybatis日誌配置
log4j.logger.org.mybatis.example.BlogMapper=TRACE
##### 輸出到控制檯,這裡也可以輸出到文件中,可以自己設置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n/<code>

3.配置數據源文件

db.properties代碼如下,此處採用非硬編碼的方式對數據源進行配置,也就是將數據源相關信息配置到db.properties中,採用非硬編碼的好處是方便項目日後的維護以及方便拓展。當然你也可是採用硬編碼方式(傳統方式)進行配置,也就是直接在spring配置文件中配置。

<code>jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=test/<code>

4.在mysql中新建ssm數據庫,並在ssm數據庫中新建一個user表,表的結構如圖所示


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

5.com.wffanshao.po中新建一個PO類,名字為User


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

User.java的代碼如下

<code>package com.wffanshao.po;

/**
* @描述 用戶PO類
* @author WF帆少
* @微信 13025261795
*
*/
public class User {

private String username; // 用戶名

private String password; // 用戶密碼

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}


}/<code>

6.在com.wffanshao.mapper中新建UserMapper接口和UserMapper.xml


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

UserMapper.java代碼如下

<code>package com.wffanshao.mapper;

import com.wffanshao.po.User;

/**
* @描述 用戶Mapper接口
* @author WF帆少
* @微信 13025261795
*
*/
public interface UserMapper {

/**
* @描述 添加用戶
* @param user
* @throws Exception
*/
boolean insertUser(User user) throws Exception;

} /<code>

UserMapper.xml代碼如下

<code>

<mapper>


<insert>


INSERT INTO user(username, password)
VALUES(#{username}, #{password})

/<insert>
/<mapper>/<code>

7.在com.wffanshao.service中新建UserService接口


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

UserService.java代碼如下

<code>package com.wffanshao.service;

import com.wffanshao.po.User;

/**
* @描述 用戶Service接口
* @author WF帆少
* @微信 13025261795
*
*/
public interface UserService {

/**
* @描述 添加用戶
* @param user
* @throws Exception
*/
boolean insertUser(User user) throws Exception;
}/<code>

8.在com.wffanshao.service.impl中新建UserServiceImpl類


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

UserServiceImpl.java代碼如下

<code>package com.wffanshao.service.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.wffanshao.mapper.UserMapper;
import com.wffanshao.po.User;
import com.wffanshao.service.UserService;

/**
* @描述 用戶Service接口的實現類
* @author WF帆少
* @微信 13025261795
*
*/
public class UserServiceImpl implements UserService{

@Autowired
private UserMapper userMapper;

/**
* @描述 添加用戶
* @param user
* @throws Exception
*/
@Override
public boolean insertUser(User user) throws Exception {
return userMapper.insertUser(user);
}

}/<code>

9.在com.wffanshao.controller中新建UserController類

UserController.java代碼如下

<code>package com.wffanshao.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import com.wffanshao.po.User;
import com.wffanshao.service.UserService;

/**
* @描述 用戶Controller
* @author WF帆少
* @微信 13025261795

*
*/
@Controller
public class UserController {

@Autowired
private UserService userService;

/**
* @描述 跳轉到login.jsp
* @return
*/
@GetMapping("/login")
public String login() {
return "login";
}

/**
* @描述 從login.jsp中的表單提交中獲取數據並將它們添加到數據庫中,
* @return 如果添加成功,跳轉到success.jsp,否則,跳轉到fail.jsp
*/
@PostMapping("/insertUser")
public String insertUser(HttpServletRequest request) throws Exception {
User user = new User();
String username = request.getParameter("username");
String password = request.getParameter("password");
user.setUsername(username);
user.setPassword(password);
boolean isSuccess = false;
isSuccess = userService.insertUser(user);
if (isSuccess) {
return "success";
} else {
return "fail";
}

}

}/<code>

10.在webapp/WEB-INF/jsp下新建login.jsp、success.jsp、fail.jsp


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

login.jsp

<code>  pageEncoding="UTF-8"%>




<title>註冊/<title>




/<code>

success.jsp

<code>  pageEncoding="UTF-8"%>




<title>註冊成功/<title>


註冊成功



/<code>

fail.jsp

<code>  pageEncoding="UTF-8"%>




<title>註冊失敗/<title>


註冊失敗



/<code>

11.在src/main/resources/spring中新建4個xml文件

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

application-dao.xml

<code>
<beans> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">


<property-placeholder>


<bean>
<property>
<property>
<property>
<property>
<property>
<property>
/<bean>

<bean>

<property>

<property>
/<bean>


<bean>

<property>
<property>
/<bean>
/<beans>/<code>

application-service.xml

<code>
<beans> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">


<bean>

/<beans>/<code>

applicationContext-transaction.xml

<code>
<beans> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">


<bean>

<property>
/<bean>

<advice>
<attributes>

<method>
<method>
<method>
<method>
<method>
<method>
<method>
/<attributes>
/<advice>

<config>

<advisor>
/<config>
/<beans>/<code>

springmvc.xml

<code>
<beans> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">



<component-scan> base-package="com.wffanshao.controller">/<component-scan>







<annotation-driven>







<bean> class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property>

<property>
/<bean>



















/<beans>/<code>

四、配置tomcat服務器

注意:博主使用的是tomcat7

這裡沒有教大家如何下載安裝配置tomcat服務器,請大家自行學習,或者等博主後續教程補上。這裡只教大家如何用eclipse配置tomcat服務器,需要提前下載解壓安裝好tomcat才能進行此步操作

spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

配置好tomcat服務器之後,你會發現項目報錯了

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

打開查看報錯原因,你會發現該項目是因為無法解析jsp而報錯,我們可以通過設置項目屬性來解決該問題,即設置該項目的運行環境

spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

設置完成後你會發項目已經不報錯了

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

四、裝配項目

將該項目添加到tomcat服務器中

spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)


spring+springmvc+mybatis+maven入門實戰(超詳細教程)

到這裡,已經成功將項目裝配到tomcat服務器中了。

五、啟動tomcat服務器

啟動服務器

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

看到started並且控制檯沒有報錯說明服務器啟動成功

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

六、測試

在瀏覽器地址欄中http://localhost:8080/test/login,tomcat服務器默認端口為8080

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

接著輸入用戶名和密碼,然後點擊註冊

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

註冊成功會跳轉到成功頁面,並且在數據庫中能查詢到我們剛才輸入的用戶名和密碼,

看到下面2張圖所示的內容,證明ssm環境整合成功

spring+springmvc+mybatis+maven入門實戰(超詳細教程)

以上就是本文的全部內容,希望對大家的學習有所幫助,喜歡的小夥伴可以關注小編並幫小編轉發。


分享到:


相關文章: