springobootの1系を2系に変更する作業をしたので、その備忘録を書いておきます。
plugins {
id ‘org.springframework.boot’ version ‘2.6.1’
id ‘io.spring.dependency-management’ version ‘1.0.11.RELEASE’
id ‘java’
id ‘war’
}
compileだとエラーになるため、compileOnlyあるいはimplementationに変更する
下記の記述だったが、削除し
ext[‘thymeleaf-layout-dialect.version’] = ‘2.2.2’
下記記述として、dependenciesの中に入れた。
implementation ‘nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect’
implementation ‘org.thymeleaf.extras:thymeleaf-extras-springsecurity4’
を
implementation ‘org.thymeleaf.extras:thymeleaf-extras-springsecurity5’
に変更
compileOnly group: ‘org.codehaus.janino’, name: ‘janino’, version: ‘2.7.8’
を
compileOnly group: ‘org.codehaus.janino’, name: ‘janino’
に変更
バージョン指定していたので、削除し、最新にした
compileOnly “org.projectlombok:lombok:1.18.6”
annotationProcessor “org.projectlombok:lombok:1.18.6”
↓
compileOnly ‘org.projectlombok:lombok’
annotationProcessor ‘org.projectlombok:lombok’
gradleが6系だと、springBoot2系に対応していない為、7系に変更する
【gradle-wrapper.properties】
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
↓変更
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
◆変更になっているプロパティがあるので、変更する
server.contextPath
↓
server.servlet.context-path
◆循環参照をしていた箇所があったので、下記を追加
spring.main.allow-circular-references=true
importし直せば、自動で適当なインポートをしてくれる。
import org.springframework.boot.autoconfigure.web.ErrorController;
↓
import org.springframework.boot.web.servlet.error.ErrorController;
importし直せば、自動で適当なインポートをしてくれる。
import org.springframework.boot.web.support.SpringBootServletInitializer;
↓
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
「th:onclick」を使うと下記エラーとなる。
Only variable expressions returning numbers or booleans are allowed in this context, any other datatypes are not trusted in the context of this expression, including Strings or any other object that could be rendered as a text literal. A typical case is HTML attributes for event handlers (e.g. “onload”), in which textual data from variables should better be output to “data-*” attributes and then read from the event handler
なので、下記のように、data-の属性付与と、jQueryにてonclickでデータを披露用にして実装するように変更
th:onclick=”${‘showDetail(”’ + item.Id + ”’)’}”
↓
th:data-parameter1=”${item.Id}” onclick=”‘showDetail( this.getAttribute(‘data-parameter1’) )”
今のところ、これくらいが見つかっているけど、エクセル関連やFTP関連、POP通信、スクレイピング関連、CSV関連、他システムへのHTTP通信関連など色々な機能の動作確認ができていないので、もしかしたら、これからたくさん出てくるかもしれない。その都度、追記していきます。