从spring cloud 1.x 升级到 2.0的简单示例教程

原 spring cloud 1.x 的示例项目地址: https://github.com/14251104246/spring-cloud-1.x-to-2.0-demo/tree/cloud1.x

升级到 spring cloud 2.x 的示例项目地址: https://github.com/14251104246/spring-cloud-1.x-to-2.0-demo/tree/cloud2.0

依赖

根目录pom文件改动
  • 更改依赖的spring bootspring cloud的版本为2.0
    • 原依赖:
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE
         
        
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    
    
    • 改后:
    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.1.RELEASE
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.RELEASE
                pom
                import
            
        
    
    
  • spring boot升级到2.0后有些配置已经改变,官方建议引入下面依赖以从输出日志中获得提示(还能兼容1.x的配置)
    • 官方教程
    • 依赖如下:
        
            org.springframework.boot
            spring-boot-properties-migrator
            runtime
        
    
    • 注意:调试中根据提示把配置都改好后,可以去掉这个依赖
    • 本示例项目升级到 spring boot 2.0 时没遇到改动的配置,所以没添加这个依赖
eureka服务端pom文件改动
  • 注释原eureka服务端依赖,改为如下
    • 不改会出现找不到类的问题而编译失败
    • 参考:http://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.0.0.RELEASE/single/spring-cloud-netflix.html#spring-cloud-eureka-server


    
    


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-server

测试用的服务模块spring-cloud-producer的pom文件改动如下
  • 注释原eureka客户端依赖,改为如下
    • 不改会出现找不到类的问题而编译失败

    
    


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-client

  • 注释原监控信息依赖,改为如下
    • 这个不改时出现的问题比较古怪,出现Failed to introspect Class [....HystrixAutoConfiguration]的问题
    • 参考:https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/reference/htmlsingle/#production-ready-enabling

    
    


    org.springframework.boot
    spring-boot-starter-actuator

zuul网关的pom文件改动如下

  • 注释原eureka客户端依赖,改为如下
    • 不改会出现找不到类的问题而编译失败

    
    


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-client

  • 注释原zuul依赖,改为如下
    • 不改会出现找不到类的问题而编译失败

    
    


    org.springframework.cloud
    spring-cloud-starter-netflix-zuul

application.yml等配置无需改变

测试

示例项目测试接口
  • 直接访问:http://localhost:9000/hello?name=1
  • 通过网关访问:http://localhost:8888/producer/hello?name=1
测试结果
  • 与spring cloud 1.x版的示例项目无区别

你可能感兴趣的:(从spring cloud 1.x 升级到 2.0的简单示例教程)