SpringCloud注解和配置以及pom依赖说明
在本文中说明了pom依赖可以支持什么功能,以及支持什么注解,引入该依赖可以在application.properties中添加什么配置。
1、SpringCloud 的pom依赖
| 序号 | pom依赖 | 说明 | 支持注解 | 支持配置application.properties |
| 1 |
<parent> |
spring-boot-starter-parent是Spring Boot的核心启动器, |
@SpringBootApplication |
server.port=1111 |
| 2 |
<dependencyManagement> |
使用dependencyManagement进行版本管理 |
||
| 3 |
<dependency> |
支持HTTP调用方式,包含了Spring Boot预定义的一些Web开发的常用依赖包 |
||
| 4 |
<dependency> |
@SpringCloudApplication | spring.application.name=eureka-service | |
| 5 |
<dependency> |
eureka注册中心依赖 | @EnableEurekaServer |
eureka.instance.hostname=localhost |
| 6 |
<dependency> |
引入eureka 客户端依赖 |
@EnableDiscoveryClient |
|
| 7 |
<dependency> |
引入ribbon 依赖 ,用来实现客户端的负载均衡,用在client客户端项目 |
ribbon.ConnectTimeout=500 |
|
| 8 |
<dependency> |
引入hystrix 依赖 ,用来实现服务容错保护。当发现请求的服务端崩溃,就采用容错机制 | @EnableCircuitBreaker | hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000 |
| 9 |
<dependency> |
引入feign 依赖,包含ribbon负载均衡,也包含Hystrix服务容错。 Spring Cloud Feign在构建被@FeignClient注解修饰的服务客户端是,会为每一个客户端都创建一个feign.Logger实例,我们可以利用该日志对象进行Log分析。 |
@EnableFeignClients |
feign.compression.request.enabled=true; |
| 10 |
<dependency> |
监控模块,实时和定时监控服务的各项状态和可用性 | ||
| 11 |
<dependency> |
引入zuul依赖 , 它依赖了spring-boot-starter-actuator/spring-boot-starter-hystrix/spring-boot-starter-ribbon | @EnableZuulProxy |
zuul.routes.api-a.path=/api-a/** |
| 12 |
<dependency> |
为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分。 |
@EnableConfigServer |
#配置Git仓库的地址 |
| 13 |
<dependency> |
分布式服务中管理配置文件的客户端,服务端是spring-cloud-config-server | @RefreshScope |
bootstrap.properties: |
| 14 |
<dependency> |
在所有需要链路跟踪的项目中都加上这个依赖。 | @EnableZipkinServer |
除了sleuth本身是链路中心的除外,其余参与链路追踪的分布式系统都需要添加如下配置: |
| 15 |
<dependency> |
修改源文件后系统自动重启 | ||
| 16 |
<plugin> |
告诉Maven包含Spring特定的Maven插件,用于构建和部署SpringBoot应用程序。 |
||
| 17 |
<plugin> |
部署以及持续集成。 |
||
| 18 |
<dependency> |
使用Java Persistence API ( JPA ) |
@Entity // 这是一个JPA类 |
|
| 19 |
<dependency> |
Postgres JDBC驱动程序 | ||
| 20 |
<dependency> |
加密解密相关包 |
spring.datasource.password: "{cipher}d495ce8603af9676450736e119" |
2、SpringCloud相关注解
| 序号 | 注解 | 说明 |
| 1 | @SpringBootApplication | SpringBoot启动类注解,启动类需有main方法 |
| 2 | @EnableEurekaServer | 用来指定该项目为Eureka的服务注册中心 |
| 3 | @EnableCircuitBreaker | 开启断路器,实现服务容错保护 |
| 4 | @EnableDiscoveryClient | 让服务使用eureka服务器 实现服务注册和发现 |
| 5 | @SpringCloudApplication |
相当于3个注解:@EnableDiscoveryClient |
| 6 | @Configuration | 相当于定义spring配置文件的xmlns域,以及支持@Bean在本类中的注册。 |
| 7 | @EnableFeignClients | Spring Cloud Feign 通过@EnableFeignClients来开启spring cloud feign的支持功能 不仅包含Spring Cloud ribbon负责均衡功能,也包含Spring Cloud Hystrix服务容错功能,还提供了一种声明式的Web服务客户端定义方式。 |
| 8 | @RequestBody | 使接收到的字段值自动映射到注解声明的复合对象中 |
| 9 | @RestController | @RestController = @Controller + @ResponseBody |
| 10 | @ComponentScan(basePackages={"com.xx","com.yy"}) | 指定扫描包 |
| 11 | @EnableZuulProxy |
开启网关路由服务功能。 |
| 12 | @Bean | 向spring容器注册自定义类 |
| 13 | @EnableConfigServer | 开启Spring Cloud Config 的服务端功能。为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分。 |
| 14 | @EnableZipkinServer | 用于开启Zipkin Server功能:分布式框架中的如果发生异常可链路追踪. |
| 15 |
@RequestMapping(value="/url",method=RequestMethod.POST) |
如何动态配置url路径,以及从路径中取值 |
| 16 | @RefreshScope | 对需要刷新的属性使用@Value注解,同时将类使用@RefreshScope注解进行标记 |
3、SpringCloud的application.properties相关设置
| 序号 | application.properties配置 | 说明 |
| 1 | server.port=1111 | 设置web项目服务端口号 |
| 2 | spring.application.name=eureka-service | 设置服务名称 |
| 3 | eureka.instance.hostname=localhost | 设置服务主机IP |
| 4 | eureka.client.register-with-eureka=false | false: 注册中心不需要注册自己。true(默认): 需要注册自己 |
| 5 | eureka.client.fetch-registry=false | false: 注册中心不需要去发现服务。true(默认): 需要发现服务 |
| 6 | eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka | 设置服务注册中心的URL,这里的${}是占位符。最终显示例如:http://localhost:1111/eureka |
| 7 | ribbon.ConnectTimeout=500 | 全局配置负载均衡超时设置 ribbon.<key>=<value> |
| 8 | ribbon.ReadTimeout=5000 | 全局配置负载均衡读超时设置 |
| 9 | hello-service.ribbon.ConnectTimeout=500 | 为某服务指定的负载均衡超时设置 @FeignClient(value="hello-service") |
| 10 | hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000 | hystrix.command.default.xxx进行全局配置 |
| 11 | hystrix.command.hello.execution.isolation.thread.timeoutInMilliseconds=5000 | hystrix.command.<commandKey>.xxx进行指定配置,这里的<commandKey>可以为方法名 |
| 12 |
feign.compression.request.enabled=true; |
请求压缩配置,支持对请求和响应进行GZIP压缩,以减少通信过程中的性能损耗。 |
| 13 |
zuul.routes.api-a.path=/api-a/** |
请求示例:http://localhost:5555/api-a/feign-consumer |
| 14 |
#配置Git仓库的地址 |
SpringCloud自己创建的管理配置中心的服务端配置 |
| 15 |
spring.profiles.active=default |
指定服务运行什么配置,比如application-dev.properties,就设置值为dev |
| 16 |
spring.cloud.config.server.encrypt.enabled=false |
显式关闭输出属性的解密。 |
| 17 |
spring.datasource.password: "{cipher}d495ce8603af9676450736e119" |
SpringCloud配置服务器要求所有已加密的属性前面加上{cipher} |
SpringCloud注解和配置以及pom依赖说明的更多相关文章
- springCould注解和配置以及pom依赖
SpringCloud注解和配置以及pom依赖说明 在本文中说明了pom依赖可以支持什么功能,以及支持什么注解,引入该依赖可以在application.properties中添加什么配置. 1.Spr ...
- Bean 注解(Annotation)配置(3)- 依赖注入配置
Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...
- springcloud(九):配置中心和消息总线(配置中心终结版)
我们在springcloud(七):配置中心svn示例和refresh中讲到,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端 ...
- 【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心
在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心.注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务.Spring Cloud体系的子项目中,Spring Clou ...
- [转]springcloud(九):配置中心和消息总线(配置中心终结版)
https://www.cnblogs.com/ityouknow/p/6931958.html springcloud(九):配置中心和消息总线(配置中心终结版) 我们在springcloud(七) ...
- Spring-Cloud之Config配置中心-7
一.我们前面基本上都是讲解的Spring Cloud Netflix的组件,下面我们会重点说Spring Cloud Config分布式配置中心.为什么需要这个组件来管理配置呢?在分布式应用开发过程中 ...
- 19.SpringCloud实战项目-SpringCloud整合Alibaba-Nacos配置中心
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...
- springcloud(七):配置中心svn示例和refresh
上一篇springcloud(六):配置中心git示例留了一个小问题,当重新修改配置文件提交后,客户端获取的仍然是修改前的信息,这个问题我们先放下,待会再讲.国内很多公司都使用的svn来做代码的版本控 ...
- springcloud费话之配置中心server修改
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
随机推荐
- Filter 中空指针错误
Filter 是过滤器,凡是通过servlet JSP 的请求需要filter 进行过滤或者拦截操作,保证数据的合法或者逻辑正确性 但是写第一个filter 配置完成后,发现jsp 文件进不去了,直 ...
- 排序算法C++实现
先按照王道系列的伪代码,写了一下常见的排序算法.代码先放这儿,先不做算法分析,回头再来分析消化. // 排序算法.cpp : 定义控制台应用程序的入口点. // #include "stda ...
- 利用Python进行数据处理1——学会使用NumPy
一.学会使用ndarray 1.1什么是ndarray? ndarray是NumPy中的一种多维数组对象,他可以是一维的.二维的.甚至更多维次.当然创建更多维次的数组并不是他的优点所在,他的优点在于它 ...
- Matlab中的rectangle函数
rectangle函数功能:创建二维矩形对象. rectangle('Position',[x,y,w,h])从点(x,y)开始绘制一个宽w高h的矩形,对坐标轴数据单元指定值.注意,按指定的比例显示矩 ...
- InstallShield 软件打包完整教程(含添加自定义依赖环境)
任务说明:公司一个绿色版的软件,为安装部署是需要很多的环境依赖,如 DevExpress..net4.5.WinRAR等,客户提出安装复杂,并且有漏装后无法启动等情况,现将绿色版转安装版,并将依赖环境 ...
- AI之旅(6):神经网络之前向传播
前置知识 求导 知识地图 回想线性回归和逻辑回归,一个算法的核心其实只包含两部分:代价和梯度.对于神经网络而言,是通过前向传播求代价,反向传播求梯度.本文介绍其中第一部分. 多元分类:符号转换 ...
- Unity判断用户联网状态,WiFi/移动网络/无网络
Unity判断用户联网状态 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- 最详细的 linux grep命令教程
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- ccf-命令行选项-201403-3
分析: 这道题不是很难 用了一个split()函数 核心是: 对命令选项的判断 不要一个字符字符的判断 要一项一项的判断 比如ab:m: 分析步骤 (1) 读取一个字符(2)判断下一步是否有字符,下一 ...
- SQL中Union和Union All
工作中,看到大佬写的一段SQL,查询了五个表中的数据,最后求某个收入的总和,其中使用了Union All,因此在这里记录一下我从中学到的东西 先上语法 Union: [ Select语句1 ] U ...