`
wiselyman
  • 浏览: 2093870 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
Group-logo
点睛Spring4.1
浏览量:82324
74ae1471-94c5-3ae2-b227-779326b57435
点睛Spring MVC4...
浏览量:130782
社区版块
存档分类
最新评论

Spring Boot 2.0升级小记

 
阅读更多

1. 背景

项目原先的Spring Boot版本为1.5.4.RELEASESpring Cloud版本为Dalston.SR2,升级后的Spring Boot版本为2.0.0.M7Spring Cloud版本为Finchley.M5,因版本升级导致各组件API以及依赖包发生变化,下面是项目中用到的组件的升级方法。

2. Spring Security

项目使用Oauth2协议规范,认证的Token令牌使用Redis进行存储。

2.1 授权服务器(authorization server)

  • 客户端配置的密码由原先的明文修改为密文。
@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory()
                .withClient("android")
                .scopes("xx")
                .secret("$2a$10$sCeoatJoccD4y1ff8AhdROLd2u6AWYBwH7YrbWXxdk6fA4VGhGITm") // 原先的代码:.secret("android")
                .authorizedGrantTypes("password", "authorization_code", "refresh_token");
    }
}

2.2 资源服务器(resource server)

  • Spring Boot 2.0.0.M7autoconfigure中关于ResourceServer的自动配置已被移除,将被移到Spring Security项目中,目前的替代方案为使用https://github.com/spring-projects/spring-security-oauth2-boot.git,添加如下依赖即可:
  <dependency>
    <groupId>org.springframework.security.oauth.boot</groupId>
    <artifactId>spring-security-oauth2-autoconfigure</artifactId>
    <version>2.0.0.BUILD-SNAPSHOT</version>
  </dependency>

2.3 重写RedisTokenStore

  • 针对RedisTokenStore出现的NoSuchMethodError RedisConnection.set([B[B)V错误,目前解决方案是重写RedisTokenStore第160行conn.set(accessKey, serializedAccessToken);修改为conn.stringCommands().set(accessKey, serializedAccessToken);

3. ElasticSearch

由于项目部署在阿里云上,而阿里云推荐使用REST APIElasticSearch进行交互,因此项目由原先的Spring Data Elasticsearch切换到Spring Data Jest作为ElasticSearch客户端。

  • 依赖
<dependency>
    <groupId>com.github.vanroy</groupId>
    <artifactId>spring-boot-starter-data-jest</artifactId>
    <version>3.0.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>io.searchbox</groupId>
    <artifactId>jest</artifactId>
    <version>5.3.2</version>
</dependency>
  • 连接配置
spring:
  data:
    jest:
      uri: http://192.168.1.222:9200
      username: elastic
      password: changeme

4. Spring Cloud Feign

项目使用Feign作为Rest客户端进行远程调用,Spring Cloud版本升级后,Feign依赖变更为:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

5. log4j

Spring Boot 2.0.0.M7已将log4j依赖移除,而项目中用到的spring-cloud-stream-binder-kafka依赖log4j,因此需手动添加该依赖:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

源码地址:http://www.wisely.top/2018/02/28/springboot2-upgrade/

 
0
0
分享到:
评论

相关推荐

    learning spring boot 2.0

    标题“Learning Spring Boot 2.0”指出了本书的目标读者是希望通过Spring Boot 2.0版本进行开发的学习者。Spring Boot是一种基于Java的开源框架,旨在简化新Spring应用的初始搭建以及开发过程。它使用了“约定优于...

    Learning Spring boot 2.0

    《Learning Spring Boot 2.0》是一本专为开发者设计的深入指南,旨在帮助读者全面理解和掌握Spring Boot 2.0这一强大框架。Spring Boot以其快速启动、简化配置和易于开发的特点,在Java企业级应用开发中占据着重要的...

    Learning Spring Boot 2.0 Second Edition

    《Learning Spring Boot 2.0 Second Edition》是学习Spring Boot 2.0的重要参考资料,它深入浅出地介绍了这个流行的Java开发框架的核心概念和技术。Spring Boot简化了Spring应用程序的初始搭建以及开发过程,旨在...

    Learning Spring Boot 2.0 - Second Edition (mobi) English version

    英文原版第二版,Spring Boot 2.0 by Greg L. Turnquist (Author) Key Features Get up to date with the defining characteristics of Spring Boot 2.0 in Spring Framework 5 Learn to perform Reactive ...

    《Learning Spring Boot 2.0》高清版

    《Learning Spring Boot 2.0》是一本专为Java开发者设计的高级教程,全面深入地讲解了Spring Boot 2.0这一强大框架的各个方面。Spring Boot简化了Java应用程序的初始设置和配置,使得开发人员可以更快地专注于业务...

    Spring Boot 2.0深度实践之核心技术篇

    《Spring Boot 2.0深度实践之核心技术篇》是一份深入探索Spring Boot 2.0核心功能和技术的教程,旨在帮助开发者充分利用这个流行的Java开发框架,提升开发效率和项目质量。Spring Boot以其“开箱即用”的特性,简化...

    Spring Boot 2.0官方参考文档

    ### Spring Boot 2.0官方参考文档知识点梳理 #### 一、Spring Boot 2.0简介与系统需求 - **Spring Boot**是一个基于Spring框架的全新子项目,它旨在简化新Spring应用的初始搭建以及开发过程。该版本为2.0.0.BUILD-...

    spring-boot2.0-中文参考指南

    5. **Actuator升级**:Spring Boot Actuator是用于监控和管理应用的组件,在2.0版本中,其指标收集、健康检查和端点的安全性都有所提升,提供了更全面的应用洞察。 6. **安全增强**:Spring Security在2.0中得到了...

    2018.02.Spring Boot 2.0 Cookbook 2nd

    《2018.02.Spring Boot 2.0 Cookbook 2nd》是一本专注于Spring Boot 2.0开发的实战指南,旨在帮助开发者更好地理解和应用这一强大的Java框架。Spring Boot以其快速启动、简化配置以及丰富的生态系统,在企业级开发中...

    Learning Spring Boot 2.0 2nd, 11,2017

    本书名为《Learning Spring Boot 2.0 2nd》,于2017年11月出版,由Packt Publishing出版。书中介绍的是Spring Boot 2.0的最新特性,并以案例教程的方式向读者讲解如何使用这些特性来简化基于微服务和响应式编程的...

    spring boot2.0官网中文文档

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot...

    spring 5 , Spring Boot 2.0,Spring cloud

    标题中的“Spring 5, Spring Boot 2.0, Spring Cloud”揭示了三个核心的Java开发框架和技术。这些是Spring框架的最新版本,Spring Boot的第二个主要版本,以及用于构建微服务架构的Spring Cloud。 首先,Spring 5是...

    spring boot2.0 demo

    Spring Boot 2.0是一个由Pivotal团队提供的全新框架,它旨在简化Spring应用程序的初始搭建以及开发过程。Spring Boot的核心理念是“约定优于配置”,它通过内嵌式Servlet容器(如Tomcat或Jetty)使得创建独立的、...

    基于Spring Boot 2.0和Kotlin的快速文档共享服务设计源码

    本项目是一款基于Spring Boot 2.0和Kotlin的快速文档共享服务设计源码,总计包含351个文件,涵盖了80个GIF图片、65个Java类、38个JavaScript文件、29个CSS样式文件、25个PNG图片、17个Kotlin文件、16个Less和SCSS...

    《Spring Boot2.0项目开发综合实训》指导手册v1.0

    《Spring Boot2.0项目开发综合实训》指导手册v1.0是一本专注于Java开发者学习Spring Boot 2.0框架的实战教程。该手册详细介绍了如何利用Spring Boot 2.0进行高效、便捷的Web应用开发,涵盖了从基础概念到高级特性的...

    spring boot2.0以上版本整合mybatis+pagehelper+druid

    Spring Boot 2.0版本以上的源码 使用 Spring Boot 的优势 使用 Spring Boot 开发项目,会给我们带来非常美妙的开发体验,可以从以下几个方面展开来说明 Spring Boot 让开发变得更简单 Spring Boot 对开发效率的提升...

    Spring boot 2.0 CMS 系统源码

    Spring Boot 2.0 版本是对先前版本的重大升级,带来了许多性能优化、新特性和对最新依赖库的支持。在构建 CMS(内容管理系统)时,Spring Boot 的优势在于其自动配置、内嵌式Web服务器、健康检查和监控等特性,使得...

    基于Spring Boot 2.0的MongoDB集群网页管理工具源码 - WeAdmin版

    项目名称:WeAdmin版MongoDB集群网页管理工具(基于Spring Boot 2.0) 技术栈:主要采用Java语言,辅以JavaScript、CSS和HTML。 文件构成:总计158个文件,包括: - GIF动画:75个,用于界面交互提示和演示。 - ...

    Learning Spring Boot2.0 2017.11

    书中可能还会介绍Spring Boot 2.0中新增的特性,如安全性增强、测试改进、Spring Boot Actuator的升级等。 最后,关于版权声明,本书的版权归Packt Publishing所有。出版社保留所有权利,未经出版商书面许可,禁止...

Global site tag (gtag.js) - Google Analytics