不推薦使用Spring Boot 2.2.0 ,這個問題你確定會遇到

項目推薦: Spring Cloud 、Spring Security OAuth2的RBAC權限管理系統 歡迎關注 最近升級項目的依賴 到最新版本git

版本變化

依賴 項目版本 目標版本
Spring Boot 2.1.9.RELEASE 2.2.0.RELEASE
Spring Cloud Greenwich.SR3 Hoxton.RC1
Spring Boot Admin 2.1.6 2.2.0

Hoxton 版本依賴廠庫

目前 Spring Cloud Hoxton 未發佈 RELEASE 版本,官方計劃 本月發佈
github

使用 Hoxton.RC1 版本須要配置 spring 倉庫spring

<repository>
	<id>spring-milestones</id>
	<name>Spring Milestones</name>
	<url>https://repo.spring.io/milestone</url>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>
複製代碼

spring boot admin 未發佈 2.2.0 適配版本

解決方法: 使用快照版本2.2.0-SNAPSHOT, 須要配置快照廠庫apache

<repository>
	<id>sonatype-nexus-snapshots</id>
	<name>Sonatype Nexus Snapshots</name>
	<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
	<snapshots>
		<enabled>true</enabled>
	</snapshots>
	<releases>
		<enabled>false</enabled>
	</releases>
</repository>
複製代碼

升級中遇到的問題

  • spring boot 2.2.0 bug ,形成 和mybatis 3.5.2 不兼容

官方issue: github.com/spring-proj…
構造器注入的問題, mybatis 私有構造器不能綁定屬性, 形成其餘 依賴mybatis 的框架 類型 mybatis-plus 這種問題 gitee.com/baomidou/my…bash

Failed to bind properties under 'mybatis-plus.configuration.incomplete-result-maps[0].assistant.configuration.mapped-statements[0].parameter-map.parameter-mappings[0]' to org.apache.ibatis.mapping.ParameterMapping
複製代碼
  • 解決方法:
    咱們從新編譯了 mybatis 3.5.2 、mybatis-plus 3.2.0 修改部分源碼兼容 私有構造器改爲public, maven 座標修改成
<dependency>
    <groupId>com.pig4cloud</groupId>
    <artifactId>mybatis-plus</artifactId>
<version>3.2.0</
複製代碼

總結

  • 因爲使用的 Spring Cloud RC 版本未同步到 阿里雲等國內鏡像廠庫
mvn clean install
複製代碼

可能會出現失敗,建議重複執行幾回便可mybatis


  • 鑑於Spring Boot 2.2.0 和 mybatis 的不兼容問題,2.2.1 會修復這個問題,建議暫時不要升級2.2.0 直接使用 2.2.1

2.2.1 已經發布,請直接升級到2.2.1 便可解決兼容問題 (2019年11月07補充)app

項目推薦: Spring Cloud 、Spring Security OAuth2的RBAC權限管理系統 歡迎關注框架

相關文章
相關標籤/搜索