概述:
spring boot 2.0相对于之前的版本,变化还是很大的。首先对jdk的版本要求已经不能低于1.8,其次依赖的spring的版本也是最新版本5.0,并集成了功能强大的webflux等。
springcloud finchley 版本的升级也带来了全新组件:spring cloud function 和 spring cloud gateway ,前者致力于函数式编程模块的整合,后者则是网关netflix zuul 的替换组件。
1)需要的依赖:
xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
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
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
// spring cloud finchley.release
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界面,已经好看很多了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!