1. 背景
项目原先的
Spring Boot
版本为1.5.4.RELEASE
,Spring Cloud
版本为Dalston.SR2
,升级后的Spring Boot
版本为2.0.0.M7
,Spring 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.M7
的autoconfigure
中关于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 API
与ElasticSearch
进行交互,因此项目由原先的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>
相关推荐
标题“Learning Spring Boot 2.0”指出了本书的目标读者是希望通过Spring Boot 2.0版本进行开发的学习者。Spring Boot是一种基于Java的开源框架,旨在简化新Spring应用的初始搭建以及开发过程。它使用了“约定优于...
《Learning Spring Boot 2.0》是一本专为开发者设计的深入指南,旨在帮助读者全面理解和掌握Spring Boot 2.0这一强大框架。Spring Boot以其快速启动、简化配置和易于开发的特点,在Java企业级应用开发中占据着重要的...
《Learning Spring Boot 2.0 Second Edition》是学习Spring Boot 2.0的重要参考资料,它深入浅出地介绍了这个流行的Java开发框架的核心概念和技术。Spring Boot简化了Spring应用程序的初始搭建以及开发过程,旨在...
英文原版第二版,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》是一本专为Java开发者设计的高级教程,全面深入地讲解了Spring Boot 2.0这一强大框架的各个方面。Spring Boot简化了Java应用程序的初始设置和配置,使得开发人员可以更快地专注于业务...
《Spring Boot 2.0深度实践之核心技术篇》是一份深入探索Spring Boot 2.0核心功能和技术的教程,旨在帮助开发者充分利用这个流行的Java开发框架,提升开发效率和项目质量。Spring Boot以其“开箱即用”的特性,简化...
### Spring Boot 2.0官方参考文档知识点梳理 #### 一、Spring Boot 2.0简介与系统需求 - **Spring Boot**是一个基于Spring框架的全新子项目,它旨在简化新Spring应用的初始搭建以及开发过程。该版本为2.0.0.BUILD-...
5. **Actuator升级**:Spring Boot Actuator是用于监控和管理应用的组件,在2.0版本中,其指标收集、健康检查和端点的安全性都有所提升,提供了更全面的应用洞察。 6. **安全增强**:Spring Security在2.0中得到了...
《2018.02.Spring Boot 2.0 Cookbook 2nd》是一本专注于Spring Boot 2.0开发的实战指南,旨在帮助开发者更好地理解和应用这一强大的Java框架。Spring Boot以其快速启动、简化配置以及丰富的生态系统,在企业级开发中...
本书名为《Learning Spring Boot 2.0 2nd》,于2017年11月出版,由Packt Publishing出版。书中介绍的是Spring Boot 2.0的最新特性,并以案例教程的方式向读者讲解如何使用这些特性来简化基于微服务和响应式编程的...
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot...
标题中的“Spring 5, Spring Boot 2.0, Spring Cloud”揭示了三个核心的Java开发框架和技术。这些是Spring框架的最新版本,Spring Boot的第二个主要版本,以及用于构建微服务架构的Spring Cloud。 首先,Spring 5是...
Spring Boot 2.0是一个由Pivotal团队提供的全新框架,它旨在简化Spring应用程序的初始搭建以及开发过程。Spring Boot的核心理念是“约定优于配置”,它通过内嵌式Servlet容器(如Tomcat或Jetty)使得创建独立的、...
本项目是一款基于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是一本专注于Java开发者学习Spring Boot 2.0框架的实战教程。该手册详细介绍了如何利用Spring Boot 2.0进行高效、便捷的Web应用开发,涵盖了从基础概念到高级特性的...
Spring Boot 2.0版本以上的源码 使用 Spring Boot 的优势 使用 Spring Boot 开发项目,会给我们带来非常美妙的开发体验,可以从以下几个方面展开来说明 Spring Boot 让开发变得更简单 Spring Boot 对开发效率的提升...
Spring Boot 2.0 版本是对先前版本的重大升级,带来了许多性能优化、新特性和对最新依赖库的支持。在构建 CMS(内容管理系统)时,Spring Boot 的优势在于其自动配置、内嵌式Web服务器、健康检查和监控等特性,使得...
项目名称:WeAdmin版MongoDB集群网页管理工具(基于Spring Boot 2.0) 技术栈:主要采用Java语言,辅以JavaScript、CSS和HTML。 文件构成:总计158个文件,包括: - GIF动画:75个,用于界面交互提示和演示。 - ...
书中可能还会介绍Spring Boot 2.0中新增的特性,如安全性增强、测试改进、Spring Boot Actuator的升级等。 最后,关于版权声明,本书的版权归Packt Publishing所有。出版社保留所有权利,未经出版商书面许可,禁止...