###Spring Boot 是什麼 官網對他的介紹是:
Spring Boot 使您能輕鬆地建立獨立的、生產級的、基於 Spring 且能直接執行的應用程式。我們對 Spring 平臺和第三方庫有自己的看法,所以您從一開始只會遇到極少的麻煩。
我對Spring Boot的理解是:
大家都喜歡使用Spring進行開發,但是配置一個基於Spring 開發的專案是在有些複雜,而Spring Boot所做的工作就是將Spring開發時常用的,主流的框架集合進行二次封裝,使得配置工作變得簡單。
Spring Boot擁有合理(主流)的預設配置,例如:預設情況下,Spring Boot Web應用程式內嵌了一個Tomcat容器。
當然你也可以禁用其預設配置並自己新增新的配置,這個過程也十分簡單。
###環境搭建
前提:
本文使用:Idea + maven.
正式開始!
1.首先開啟idea,點選File->new->project. 在出現的頁面中點選Spring initializr。點選next。
2.在接下來的頁面配置你的專案名稱資訊。點選next。
3.在dependenice頁面中,選中web欄下的web,SQL欄下的JPA,Mybatis,MySQL。之後一路點選next完成專案建立。
4.配置pom.xml檔案。 我的完整pom.xml為:
<?xml version="1.0" encoding="UTF-8"?>
<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.huyan</groupId>
<artifactId>configcenter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>configcenter</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
複製程式碼
5.配置application.yml檔案。
這是spring boot 的配置檔案,在resources目錄下新建檔案,檔名為:application.yml
.然後在其中配置資料庫:
spring:
# 資料庫配置
datasource:
url: jdbc:mysql://localhost:3306/config_center?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
username: {your.username}
password: {your.password}
driver-class-name: org.gjt.mm.mysql.Driver
複製程式碼
將其中的username和password換成你自己的資料庫資訊。
6.在你的mysql資料庫中新建資料庫config_center。
7.此時,在包主目錄下找到Application類(名字和你的包名有關係),run,會發現tomcat已經啟動成功。
8.在pox.xml中已經加入了對mybatis-spring-boot-starter的依賴,所以我們只需要在yml檔案中新增以下內容。
# mybatis配置
mybatis:
# 配置對映類所在包名
type-aliases-package: panfeng.configcenter.model
# 配置mapper xml檔案所在路徑
mapper-locations: classpath:mapper/**.xml
複製程式碼
9.好了,現在基於spring boot 及mybatis的web環境已經搭建完成。讓我們來測試以下。 首先,在資料庫中新增一張表,我新增了一張名為ldap_account的表。然後使用myvatis generator自動生成與之對應的model,mapper層(當然你可以手寫,只是有點麻煩)。
然後在專案下建立如下目錄。
StatusController程式碼:
package com.huyan.configcenter.controller;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class StatusController {
@RequestMapping(value = "/status", method = RequestMethod.GET,
produces = {"application/json;charset=UTF-8"})
@ResponseBody
public JSONObject status() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("server_name", "config-center");
jsonObject.put("status", "ok");
return jsonObject;
}
}
複製程式碼
AccountController程式碼:
package com.huyan.configcenter.controller;
import com.alibaba.fastjson.JSONObject;
import com.huyan.configcenter.mapper.LdapAccountMapper;
import com.huyan.configcenter.model.LdapAccount;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class AccountController {
@Resource
private LdapAccountMapper ldapAccountMapper;
@RequestMapping(value = "/account}", method = RequestMethod.GET,
produces = {"application/json;charset=UTF-8"})
@ResponseBody
public JSONObject status() {
JSONObject jsonObject = new JSONObject();
LdapAccount ldapAccount = ldapAccountMapper.selectByPrimaryKey(1);
jsonObject.put("id", ldapAccount.getId());
jsonObject.put("name", ldapAccount.getLdapName());
jsonObject.put("phone",ldapAccount.getLdapPhine());
return jsonObject;
}
}
複製程式碼
ok,大功告成,在各層中新增你的程式碼吧!
ChangeLog
2018-04-08 完成以上皆為個人所思所得,如有錯誤歡迎評論區指正。
歡迎轉載,煩請署名並保留原文連結。
聯絡郵箱:huyanshi2580@gmail.com
更多學習筆記見個人部落格------>呼延十