(一)Java秒殺項目之項目環境搭建


一、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封裝一般采用如下方式:接口->抽象類->實現類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM