<!--dependencyManagement元素用于定义核心依赖的管理,如依赖的版本-->
一
![](https://i-blog.csdnimg.cn/blog_migrate/5609be23834dbed799515fc614839a46.png)
定义SpringBoot 的版本
定位: SpringBoot主要的作用整合SSM,使得框架的使用更加简化
原则: "开箱即用"
parent主要的作用:
1.SpringBoot在内部兼容了当下几乎所有的第三方框架
2.SpringBoot官网已经将所有兼容的版本进行了定义
(几乎解决了版本冲突问题)以后几乎不写版本号
概括: parent标签中管理其他的项目版本信息.
-->
===============================================
二
<!--SpringBoot项目与Maven整合的一个插件
可以通过插件 执行项目打包/测试/文档生成等操作
注意事项: 该插件不能省略
项目发布时: java -jar xxxx.jar 报错:没有主清单信息!!!!
-->
===============================================
三
这里设置maven的jdk版本
===============================================
四![](https://i-blog.csdnimg.cn/blog_migrate/207bec4d08ca5e19944ea3bb1bf77361.png)
在这里更改pom文件的名字
===============================================
五
===============================================
springboot启动项(器)在包的内部SpringBoot,已经完成了项目的"整合"(配置) 用户拿来就用web导入SpringMVC
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
===============================================
<!--添加lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency
===============================================
<!--支持热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
===============================================
打包测试,测试类需要用的注解
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
===============================================
<!--引入数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
===============================================
<!--springBoot数据库连接 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
===============================================
<!--spring整合mybatis 暂时,mapper接口/mapper.xml映射文件-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
===============================================
<!--跳过测试类打包-->
<properties>
<java.version>1.8</java.version>
<skipTests>true</skipTests>
</properties>
===============================================
<!--导入MybatisPS包 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
===============================================
<modelVersion>4.0.0</modelVersion>
<!--项目坐标(groupId->01-sca)-->
<groupId>com.jt</groupId>
<artifactId>01-sca</artifactId>
<!--父工程默认的打包方式伟pom方式-->
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
===============================================<!--这个元素是自动添加的,创建当前工程下的子工程时,会自动添加此元素-->
<modules>
<module>sca-provider</module>
<module>sca-consumer</module>
<module>sca-demos</module>
<module>sca-gateway</module>
</modules>
===============================================
<!--工程中默认定义的或自己定义的属性,例如一些版本信息-->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spring.boot.version>2.3.2.RELEASE</spring.boot.version>
<spring.cloud.version>Hoxton.SR9</spring.cloud.version>
<spring.cloud.alibaba.version>2.2.6.RELEASE</spring.cloud.alibaba.version>
</properties>
===============================================
<!--Spring boot 依赖(微服务基础)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<!--这里的import表示在其它工程中需要时直接可以引用-->
<scope>import</scope>
<!--假如依赖的scope属性值为scope,则type类型必须为pom-->
<type>pom</type>
</dependency>
===============================================
<!--Spring Cloud 依赖(定义了微服务规范)-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
===============================================
<!--Spring Cloud Alibaba依赖(基于spring微服务规范做了具体落地实现)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
===============================================<!--当基于feign方式进行服务调用时就需要此依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
===============================================<!--限流依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
===============================================
<!--Spring Boot中的监控依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
===============================================<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.2.RELEASE</version>
<!--指定启动类-->
<configuration>
<mainClass>com.jt.ConsumerApplication</mainClass>
</configuration>
<!--打包依赖-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
==============================================
添加防火墙的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
==============================================<!--拓展:基于如下依赖中的API可以实现对象与json字符串之间转换-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
==============================================<!--服务的注册和发现(我们要讲服务注册到nacos)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
==============================================<!--nacos配置中心依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
==============================================<!--定义要排除的依赖-->
<exclusions>
<exclusion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
</exclusion>
==============================================<!--Nacos Config (配置中心)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
==============================================<!--AOP 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
==============================================
<!--oauth2依赖 oauth2定义了一种认证授权协议,一种规范,此规范中定义了四种类型的角色:
1)资源有者(User)
2)认证授权服务器(jt-auth)
3)资源服务器(jt-resource)
4)客户端应用(jt-ui)
同时,在这种协议中规定了认证授权时的几种模式:
1)密码模式 (基于用户名和密码进行认证)
2)授权码模式(就是我们说的三方认证:QQ,微信,微博,。。。。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
==============================================<!--Gson依赖(JSON数据操作)-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
==============================================<!--Junit依赖(单元测试)-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
==============================================<!--Jedis依赖(主要)-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.2</version>
</dependency>
==============================================<!--Spring DATA,还有IOC,MVC,AOP,SECURITY-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
==============================================
-
添加
eureka client
依赖 -
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
添加 eureka client
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
==============================================
Zuul的依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency>
==============================================
ribbon配置重试的依赖-->
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>