springCould注解和配置以及pom依赖
2021-02-11 11:20
标签:ESS 主键 功能 jdb enc aml 关闭 package plugin 在本文中说明了pom依赖可以支持什么功能,以及支持什么注解,引入该依赖可以在application.properties中添加什么配置。 1、SpringCloud 的pom依赖 spring-boot-starter-parent是Spring Boot的核心启动器, @SpringBootApplication 使用dependencyManagement进行版本管理 支持HTTP调用方式,包含了Spring Boot预定义的一些Web开发的常用依赖包 eureka.instance.hostname=localhost @EnableDiscoveryClient ribbon.ConnectTimeout=500 引入feign 依赖,包含ribbon负载均衡,也包含Hystrix服务容错。 Spring Cloud Feign在构建被@FeignClient注解修饰的服务客户端是,会为每一个客户端都创建一个feign.Logger实例,我们可以利用该日志对象进行Log分析。 feign.compression.request.enabled=true; zuul.routes.api-a.path=/api-a/** 为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分。 #配置Git仓库的地址 bootstrap.properties: 除了sleuth本身是链路中心的除外,其余参与链路追踪的分布式系统都需要添加如下配置: 告诉Maven包含Spring特定的Maven插件,用于构建和部署SpringBoot应用程序。 部署以及持续集成。 @Entity // 这是一个JPA类 spring.datasource.password: "{cipher}d495ce8603af9676450736e119" 2、SpringCloud相关注解 相当于3个注解:@EnableDiscoveryClient 开启网关路由服务功能。 @RequestMapping(value="/url",method=RequestMethod.POST) 3、SpringCloud的application.properties相关设置
feign.compression.request.enabled=true; zuul.routes.api-a.path=/api-a/** 请求示例:http://localhost:5555/api-a/feign-consumer #配置Git仓库的地址 spring.profiles.active=default spring.cloud.config.server.encrypt.enabled=false spring.datasource.password: "{cipher}d495ce8603af9676450736e119" springCould注解和配置以及pom依赖 标签:ESS 主键 功能 jdb enc aml 关闭 package plugin 原文地址:https://www.cnblogs.com/wangjintao-0623/p/12736752.html
序号
pom依赖
说明
支持注解
支持配置application.properties
1
spring-boot-starter-parent
包含了自动配置、日志和YAML等大量默认的配置。
引入之后相关的starter引入就不需要添加version配置,
spring boot会自动选择最合适的版本进行添加。
@Configuration
@RequestBody
@RestController
@ComponentScan(basePackages={"com.xx","com.yy"})server.port=1111
2
spring-cloud-dependencies
注意:这里的高版本Edgware.SR4不兼容spring-boot-starter-parent的高版本2.x,只能是1.x的高版本,比如1.5.16.RELEASE
3
spring-boot-starter-web
如: spring-webmvc,Tomcat....
4
spring-cloud-starter
@SpringCloudApplication
spring.application.name=eureka-service
5
spring-cloud-starter-eureka-servereureka注册中心依赖
@EnableEurekaServer
eureka.client.service-url.defaultZone=http://localhost:1111/eureka
eureka.client.fetch-registry=false
eureka.client.fetch-registry=false
6
spring-cloud-starter-eureka引入eureka 客户端依赖
@EnableZuulProxy
7
spring-cloud-starter-ribbon引入ribbon 依赖 ,用来实现客户端的负载均衡,用在client客户端项目
ribbon.ReadTimeout=5000
hello-service.ribbon.ConnectTimeout=500
8
spring-cloud-starter-hystrix引入hystrix 依赖 ,用来实现服务容错保护。当发现请求的服务端崩溃,就采用容错机制
@EnableCircuitBreaker
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000
9
spring-cloud-starter-feign
@EnableFeignClients
feigan.compression.response.enabled=true;
10
spring-boot-starter-actuator 监控模块,实时和定时监控服务的各项状态和可用性
11
spring-cloud-starter-zuul引入zuul依赖 , 它依赖了spring-boot-starter-actuator/spring-boot-starter-hystrix/spring-boot-starter-ribbon
@EnableZuulProxy
zuul.routes.api-a.url=http://localhost:9001
或
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.serviceId=hello-service
12
spring-cloud-config-server
比如要访问my_test分支下的spring-cloud-config-file目录下的sam-dev.properties配置文件,访问url:
http://localhost:7001/sam/dev/my_test @EnableConfigServer
spring.cloud.config.server.git.uri=https://gitlab.com/xxx/xxx.git
#配置仓库路径下的相对搜索位置,可以配置多个
spring.cloud.config.server.git.search-paths=spring-cloud-config-file
#这里配置你的Git仓库的用户名
spring.cloud.config.server.git.username=xxx
#这里配置你的Git仓库的密码
spring.cloud.config.server.git.password=123
13
spring-cloud-starter-config 分布式服务中管理配置文件的客户端,服务端是spring-cloud-config-server
@RefreshScope
#{profile}
spring.cloud.config.profile=dev
#{label} git分支名字
spring.cloud.config.label=master
#config server uri
spring.cloud.config.uri=http://localhost:7001
14
spring-cloud-starter-zipkin 在所有需要链路跟踪的项目中都加上这个依赖。
@EnableZipkinServer
#指定zipkin服务端的url
spring.zipkin.base-url=http://localhost:9411
#设定样本收集的比率为100%
spring.sleuth.sampler.percentage=1.0
15
spring-boot-devtools修改源文件后系统自动重启
16
spring-boot-maven-plugin
注意,这个要放在build->plugins节点下。
17
docker-maven-plugin
注意,这个要放在build->plugins节点下。
18
spring-boot-starter-data-jpa使用Java Persistence API ( JPA )
@Table(name="t_user") //映射到哪张表
@Id //主键
@Column(name="user_id",nullable=false) //对应表里哪个字段,不允许为空
@Repository //这是一个DAO类
19
postgresql
Postgres JDBC驱动程序
20
spring-security-rsa 加密解密相关包
spring.cloud.config.server.encrypt.enabled=false
序号
注解
说明
1
@SpringBootApplication
SpringBoot启动类注解,启动类需有main方法
2
@EnableEurekaServer
用来指定该项目为Eureka的服务注册中心
3
@EnableCircuitBreaker
开启断路器,实现服务容错保护
4
@EnableDiscoveryClient
让服务使用eureka服务器 实现服务注册和发现
5
@SpringCloudApplication
@SpringBootApplication
@EnableCircuitBreaker
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
注意:一旦要请求的controller类实现了某个接口,恰好这个接口有自定义的@RequestMapping("/xxx")值,那么在发起请求时,完整的url不能省略这个@RequestMapping值:http://localhost:5555/hello-service/xxx/myHello
12
@Bean
向spring容器注册自定义类
13
@EnableConfigServer
开启Spring Cloud Config 的服务端功能。为分布式系统中的基础设施和微服务提供集中化的外部配置支持,分为服务端和客户端两个部分。
14
@EnableZipkinServer
用于开启Zipkin Server功能:分布式框架中的如果发生异常可链路追踪.
15
public void getUrl(@PathVariable("name") String name){ … }如何动态配置url路径,以及从路径中取值
16
@RefreshScope
对需要刷新的属性使用@Value注解,同时将类使用@RefreshScope注解进行标记
序号
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.
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.
12
feigan.compression.response.enabled=true;请求压缩配置,支持对请求和响应进行GZIP压缩,以减少通信过程中的性能损耗。
13
zuul.routes.api-a.url=http://localhost:9001
或
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.serviceId=hello-service
或
zuul.routes.hello-service.path=/hello-service/**
zuul.routes.hello-service.serviceId=hello-service
请到http://localhost:9001这个url地址找**(/feign-consumer)匹配的http接口,因为我把这个url的服务命名为api-a了。
推荐使用serviceId来代替url地址。
注意:zuul.routes.api-a.url=hello-service也能实现功能,但是它不能进行正常的负载均衡和容错保护。
不配置默认路由规则。当zuul.ignored-services=*的时候,所有的服务都不会自动创建路由规则,这个时候需要通过前面的配置进行相关路由配置了。
14
spring.cloud.config.server.git.uri=https://gitlab.com/xxx/xxx.git
#配置仓库路径下的相对搜索位置,可以配置多个
spring.cloud.config.server.git.search-paths=spring-cloud-config-file
#这里配置你的Git仓库的用户名
spring.cloud.config.server.git.username=xxx
#这里配置你的Git仓库的密码
spring.cloud.config.server.git.password=123 SpringCloud自己创建的管理配置中心的服务端配置
15
指定服务运行什么配置,比如application-dev.properties,就设置值为dev
16
显式关闭输出属性的解密。
17
SpringCloud配置服务器要求所有已加密的属性前面加上{cipher}
文章标题:springCould注解和配置以及pom依赖
文章链接:http://soscw.com/index.php/essay/54011.html