一、Spring Boot環境搭建
1、把項目分成多個模塊,每個模塊對應一部分(不一定是一個章節)的內容,代碼將在文章的具體位置給出,每個模塊都是在之前模塊的基礎上構建,每個模塊都為Spring Boot項目。
2、idea中新建一個Empty Project名為mymiaosha,在其下新建第一章對應的模塊mymiaosha1,該模塊代碼包含到下文的二、集成Thymeleaf,Result結果封裝為止,具體代碼見下文。
二、集成Thymeleaf,Result結果封裝
1、Result結果封裝
1、對返回的JSON數據進行統一處理,一般包含狀態碼(code),狀態信息(msg),數據(data),新建結果類Result,其中聲明這三個變量用來封裝返回數據,就可以用類似 new Result(0, "success", {data} ); new Result(500100, "服務端異常", null); 這種形式返回
2、為了進行更好的封裝,可以在Result類中再做一次封裝,封裝成靜態泛型方法使用類名直接調用,封裝完后使用 Result.success( {data} ); Result.error(500100, "服務端異常");這種形式返回
3、由於狀態碼和狀態信息是一體的,可以新建CodeMsg類來封裝,聲明狀態碼(code)、狀態信息(msg)變量,然后進一步封裝一個CodeMsg類型的靜態變量,封裝完后使用 Result.error(CodeMsg.SERVER_ERROR);來返回
4、由於具體數據的類型不確定,一般使用T類型,所以結果類也是一個泛型類,最后返回的類型就可以使用類似Result<String>這樣
2、集成Thymeleaf
加入spring-boot-starter-thymeleaf依賴,默認的Thymeleaf模版文件放置位置如下,也可以自己更改。由於默認是這樣,所以代碼中省略沒寫
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
Thymeleaf其實就是html文件,需要在頭部進行聲明,再使用
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>hello</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <p th:text="'hello:'+${name}" ></p> </body> </html>
最后新建控制類進行測試,具體見代碼。如果上面文案不清楚的話,建議看我的代碼提交,每一次提交依次對應構建的每一步。
至此,mymiaosha1模塊構建完畢,上述文章代碼參見我的本項目倉庫地址中的mymiaosha1模塊。同時下文在mymiaosha2模塊上構建,mymiaosha2模塊由mymiaosha1模塊復制而來。
三、集成Mybatis+Druid
從這里開始,將在mymiaosha2模塊上開發。
引入mybatis-spring-boot-starter依賴,它包含了mybatis依賴;引入druid依賴,mysql-connection-java依賴
配置數據庫連接信息,使用Mybatis注解方式,直接在dao層接口方法上使用mybatis依賴下的注解
spring.datasource.url=jdbc:mysql://localhost:3306/miaosha?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false spring.datasource.username=root spring.datasource.password=123 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring-tx依賴下的@Transactional注解可以用在業務層的方法上進行事務管理
四、集成Jedis+Redis安裝+通用緩存Key封裝
Redis安裝請參考我的文章Redis在Mac上的下載安裝
SpringBoot項目中通過Jedis操作Redis請參考我的文章Spring Boot通過Jedis來操作Redis
通用緩存Key封裝一般采用如下方式:接口->抽象類->實現類
