網(wǎng)站上做的圖片不清晰是怎么回事推廣技術(shù)
目錄
代理對象
Swagger
Web?
?單元測試
MybatisPlus
Lombok
Mysql
SpringBoot
?Jdk
SpringCloud
數(shù)據(jù)庫驅(qū)動包
hutool工具
配置倉庫
通用庫
?maven插件
nacos注冊中心?
OpenFeign?
Spring AMQP
JSON轉(zhuǎn)換器
Redis?
?郵箱驗證
?Redisson分布式鎖
客戶端
代理對象
<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId></dependency>
啟動類添加:
@EnableAspectJAutoProxy(exposeProxy = true)
?
Swagger
Knife4j是為Java MVC框架集成Swagger生成Api文檔的解決方案,其對Swagger進行了封裝,幫助生成接口文檔和測試接口,開發(fā)階段使用的框架。
開發(fā)人員在開發(fā)新的接口或者更新舊的接口后,由于開發(fā)任務(wù)的繁重,往往文檔很難持續(xù)跟著更新,Swagger 就是用來解決該問題的一款重要的工具。
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.2.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.2.2</version></dependency>
配置SpringBoot項目中的application.yaml文件中:?
knife4j:enable: trueopenapi:title: 用戶管理接口文檔description: "用戶管理接口文檔"email: cpractice@163.comconcat: Liqingshuiversion: 1.0.0group:default:group-name: 默認分組api-rule: packageapi-rule-resources:- com.itheima.mp.controller
Web?
RESTful服務(wù):它也支持構(gòu)建RESTful風格的Web服務(wù),使得開發(fā)API變得簡單直接。?
核心Web功能:它包含了Spring MVC框架的所有必要依賴,使你可以快速開始開發(fā)基于Spring的Web應(yīng)用。Spring MVC是一個強大的模型-視圖-控制器(MVC)框架,用于創(chuàng)建動態(tài)、響應(yīng)式的Web服務(wù)。?
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
?單元測試
<!--單元測試--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId><version>3.3.0</version><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency>
MybatisPlus
<!--mybatisplus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency>
Lombok
<!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version><optional>true</optional></dependency>
Mysql
<!--mysql--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency>
<!--數(shù)據(jù)庫--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>
SpringBoot
<!--springboot--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
?Jdk
<!--jdk--><properties><java.version>11</java.version></properties>
SpringCloud
<!--spring cloud--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--spring cloud alibaba--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency>
數(shù)據(jù)庫驅(qū)動包
<!-- 數(shù)據(jù)庫驅(qū)動包管理 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency>
hutool工具
<!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool.version}</version></dependency>
配置倉庫
<!-- 配置倉庫 --><repositories><repository><id>central</id><url>http://host:port/content/groups/public</url></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://host:port/content/groups/public</url></pluginRepository></pluginRepositories>
通用庫
hm-common這樣的通用庫可能包含了很多跨模塊共享的功能代碼,如工具類、常量定義、基礎(chǔ)模型等。通過將這些共性內(nèi)容抽取到單獨的庫中,可以避免代碼重復(fù),提高代碼的復(fù)用性和模塊間的解耦。
<!--common--><dependency><groupId>com.heima</groupId><artifactId>hm-common</artifactId><version>1.0.0</version></dependency>
?maven插件
<build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
nacos注冊中心?
<!--網(wǎng)關(guān)--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos 服務(wù)注冊發(fā)現(xiàn)--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--負載均衡--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>
OpenFeign?
<!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--負載均衡器--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>
<!--OK http 的依賴 --><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-okhttp</artifactId></dependency><!--nacos配置管理--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--讀取bootstrap文件--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>
Spring AMQP
<!--AMQP依賴,包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>
JSON轉(zhuǎn)換器
<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.9.10</version>
</dependency>
?如果項目中引入了spring-boot-starter-web
依賴,則無需再次引入Jackson
依賴。
Redis?
jedis
<!--jedis-->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version>
</dependency>
?SpringDataRedis
<!--redis依賴-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
?郵箱驗證
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-email -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-email</artifactId><version>1.4</version>
</dependency>
?Redisson分布式鎖
<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.6</version>
</dependency>
客戶端
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class RedissonConfig {@Beanpublic RedissonClient redissonClient() {Config config = new Config();config.useSingleServer().setAddress("redis://101.XXX.XXX.160:6379").setPassword("root");return Redisson.create(config);}
}