Spring Boot設計目的是用來簡化Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。
一、環境准備
Idea 2017 或 2018,直接安裝即可,太低版本webapp模板不同。
tomcat8.0 解壓縮即可,配置不配置tomcathome都可。
mysql5.6
maven3.5.0
Java安裝jdk版本即可。
二、通過maven模板創建Java web項目
1、點擊 New project,選擇maven-webapp項目

2、輸入groupid和artifactid,隨便輸入即可。單機next

3、如果沒有maven選擇即可,選好后單擊 next

4、選擇存放目錄后,單擊 Finish,開始創建項目

5、第一次根據你的網絡不同所需時間不同,我第一次創建大概用了10多分鍾。成功后如下圖能看到web.xml部署描述文件。

三、創建Java web項目文件結構
1、創建好后結構如下圖

src\main\ java com huatu qa controller dao entity service impl Application.java resources application.yml test
2、目錄創建完畢選擇,源碼 Source root;資源 resource,test等資源目錄


四、配置pom.xml導入必要的jar包
1、添加 spring-boot-starter-parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>
2、添加 “spring-boot-starter-web”、“mysql-connector-java”、“org.mybatis.spring.boot”
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
配置好后如下圖:

五、配置tomcat
1、點擊 Run -> Edit Configurations

2、如果第一次配置需要選擇“Templates” -> Local

主要設置tomcat位置,選擇你的tomcat加壓縮目錄即可。

3、再次點擊 Run -> Edit Configurations,點 + 號,選擇里邊的 Tomcat server -> local

4、選擇 “Deployment” -> + 號,選擇 “war exploded”,在開發階段選擇這個支持熱部署。

5、保存后設置context

6、返回后確認下端口,之后點擊“run”即可啟動tomcat

7、運行成功后會自動打開瀏覽器看到如下圖

8、下次再次運行可以直接點擊 run -> tomcat

六、配置mybatis
1、 在mysql中創建數據庫及表,表明 user_info。字段兩個 user_id、user_name。創建好后再增加幾條數據

2、在 resources 目錄添加 application.yml 配置數據源和映射文件路徑
#application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/aaa?serverTimezone=GMT
username: root
password: 123456
mybatis:
mapper-locations: classpath:dao/**/*Dao.xml
其中:
1、serverTimezone=GMT 是高版本mysql jar需要配置服務器時區
2、com.mysql.cj.jdbc.Driver 為高版本mysql使用的driver
七、編寫代碼
1、編寫實體類
在 entity 目錄創建 UserInfo.java 類,內容如下
package com.huatu.qa.entity;
public class UserInfo {
private String userId;
private String userName;
下邊是get set方法
2、Dao層代碼
在 dao 目錄中添加 UserInfoDao.java、UserInfoDao.xml
dao接口
package com.huatu.qa.dao;
import com.huatu.qa.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserInfoDao {
public List<UserInfo> selectAll();
}
mapper映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.huatu.qa.dao.UserInfoDao">
<resultMap id="AllColumnMap" type="com.huatu.qa.entity.UserInfo">
<result column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
</resultMap>
<select id="selectAll" resultMap="AllColumnMap">
SELECT * FROM user_info
</select>
</mapper>
修改pom.xml復制mapper映射文件到resource目錄
<resources>
<resource>
<directory>src/main/java/com/huatu/qa</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
pom改完后如下,這里有兩個選擇
1、將mapper直接放到resource目錄。mvn編譯時會自動將xml復制到運行resource目錄。但這樣有一個問題就是如果你有多個配置,比如測試配置,生產配置每個目錄里都要有一份mapper文件。
2、就是放到dao或其它目錄運行時在通過pom中的resource配置,復制到運行resource目錄。之前就是這里忘記配置了,導致找不到mapper文件。

3、Service層代碼
在 service 目錄中創建一個接口 IUserInfoService.java
package com.huatu.qa.service;
public interface IUserInfoService {
Object selectAll();
}
在 service\impl 目錄下創建一個實現類 UserInfoService.java
package com.huatu.qa.service.impl;
import com.huatu.qa.dao.UserInfoDao;
import com.huatu.qa.entity.UserInfo;
import com.huatu.qa.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserInfoService implements IUserInfoService {
@Autowired
UserInfoDao userInforDao;
@Override
public Object selectAll() {
List<UserInfo> list = userInforDao.selectAll();
return list;
}
}
4、controller層代碼
在 controller 目錄下創建 UserInfoController.java
package com.huatu.qa.controller;
import com.huatu.qa.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class UserInfoController {
@Autowired
IUserInfoService userInfoService;
@RequestMapping("/users")
@ResponseBody
public Object selectAll(){
return userInfoService.selectAll();
}
}
5、配置快速啟動類
在 package 目錄 創建 Application.java
package com.huatu.qa;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
以上都完成后如下圖

八、運行
1、點擊 run -> tomcat ,如果之前已經啟動tomcat請重啟。如果啟動兩個tomcat會報端口沖突,需要手動找到那個java進程kill掉。


2、瀏覽器輸入接口地址 http://localhost:8080/htqa_war_exploded/users 會看到請求回來的數據

到此使用springboot搭建一個完整ssm項目框架,是不是越來越簡單。
參考文檔:
Springboot快速搭建SSM框架
https://blog.csdn.net/qq1131410679/article/details/79958441
快速搭建一個SSM框架demo
https://www.cnblogs.com/wchxj/p/8017449.html
