SpringCloudFinchley+SpringBoot2.0集成Consul的方法示例(1.2版本)
概述:
创新互联专注于张家界企业网站建设,响应式网站设计,成都做商城网站。张家界网站建设公司,为张家界等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
Spring Boot 2.0相对于之前的版本,变化还是很大的。首先对jdk的版本要求已经不能低于1.8,其次依赖的spring的版本也是最新版本5.0,并集成了功能强大的webflux等。
SpringCloud Finchley 版本的升级也带来了全新组件:Spring Cloud Function 和 Spring Cloud Gateway ,前者致力于函数式编程模块的整合,后者则是网关netflix zuul 的替换组件。
1)需要的依赖:
<?xml version="1.0" encoding="UTF-8"?>4.0.0 com.iyb saturn 0.0.1-SNAPSHOT jar sc-saturn sc-saturn for Spring Boot org.springframework.boot spring-boot-starter-parent 2.0.1.RELEASE UTF-8 UTF-8 1.8 3.4.0 4.1.6 1.2.13 2.8.5 1.0.27 5.1.40 1.3.1 // Spring Cloud Finchley.RELEASE org.springframework.cloud spring-cloud-starter-consul-discovery org.springframework.cloud spring-cloud-starter-config org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-starter-netflix-hystrix org.springframework.cloud spring-cloud-starter-netflix-zuul org.springframework.cloud spring-cloud-starter-netflix-ribbon org.springframework.cloud spring-cloud-starter-sleuth org.springframework.boot spring-boot-starter-tomcat provided org.apache.tomcat.embed tomcat-embed-jasper compile org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-web com.alibaba fastjson ${fastjson.version} io.github.openfeign feign-gson 9.3.1 org.projectlombok lombok log4j log4j 1.2.17 commons-beanutils commons-beanutils commons-collections commons-collections org.apache.commons commons-lang3 3.4 com.netflix.feign feign-gson 8.15.1 org.springframework.cloud spring-cloud-dependencies Finchley.RELEASE pom import
需要注意的地方:
部分依赖做了改变:
旧版本 | Finchley 版本 |
---|---|
spring-cloud-starter-eureka-client | spring-cloud-starter-netflix-eureka-client |
spring-cloud-starter-eureka-server | spring-cloud-starter-netflix-eureka-server |
spring-cloud-starter-hystrix | spring-cloud-starter-netflix-hystrix |
spring-cloud-starter-hystrix-dashboard | spring-cloud-starter-netflix-hystrix-dashboard |
spring-cloud-starter-ribbon | spring-cloud-starter-netflix-ribbon |
spring-cloud-starter-turbine | spring-cloud-starter-netflix-turbine |
spring-cloud-starter-zuul | spring-cloud-starter-netflix-zuul |
spring-cloud-starter-feign | spring-cloud-starter-openfeign |
新版本的 SpringCloud 上面的依赖都发生了变化,依赖中都引入了 netflix,或许是为了声明吧(组件的实现底层并非spring)。
log4j依赖:
在spring cloud之前的版本中,日志只需要引入lombok即可,但是Finchley版本需要单独的引用。
org.projectlombok lombok log4j log4j 1.2.17
2)集成consul配置文件:
spring: application: name: sc-saturn profiles: active: dev cloud: config: # uri: http://localhost:9999 discovery: enabled: false serviceId: sc-earth-config-server label: master profile: pre consul: host: http://localhost:8500 port: 80 discovery: prefer-ip-address: true #这里是重写健康检查的endPoint,默认为 /health,重写是为了节省不必要的网络传输,只需要http 200状态码即可 health-check-path: /ok/health heartbeat: enabled: false
3)启动类:
@SpringBootApplication @EnableFeignClients @EnableZuulServer @ComponentScan(basePackages={"com.iyb.ak"}) @EnableDiscoveryClient @Slf4j public class SaturnApplication implements CommandLineRunner{ public static void main(String[] args) { SpringApplication.run(SaturnApplication.class, args); } @Override public void run(String... args) throws Exception { log.info(">>>>>>>>>>>>>>> sc-saturn 启动完成<<<<<<<<<<<<<"); } }
4)示例:
注册中心:
可以看到 sc-saturn 已经成功注册到 consul中了。另外,上面的consul ui界面发生了变化,这是1.2版本做出的优化,相较以前的ui界面,已经好看很多了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
新闻名称:SpringCloudFinchley+SpringBoot2.0集成Consul的方法示例(1.2版本)
分享网址:http://hbruida.cn/article/ppsieh.html