概述:
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界面,已经好看很多了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。