{"id":153,"date":"2023-01-20T11:52:05","date_gmt":"2023-01-20T02:52:05","guid":{"rendered":"https:\/\/hirabay.net\/?p=153"},"modified":"2023-02-08T21:21:45","modified_gmt":"2023-02-08T12:21:45","slug":"springboot-2-3-to-2-4-%e3%83%a1%e3%83%a2","status":"publish","type":"post","link":"https:\/\/hirabay.net\/?p=153","title":{"rendered":"SpringBoot 2.3 to 2.4 \u30e1\u30e2"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">springboot 2.4\u304cGA\u3068\u306a\u308a\u307e\u3057\u305f\u3002<br><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.4.0-RC1-Release-Notes\" target=\"_blank\">Release Note<\/a>\u3092\u53c2\u8003\u306b2.3\u7cfb\u304b\u30892.4\u7cfb\u3078\u306e\u79fb\u884c\u65b9\u6cd5\u3092\u307e\u3068\u3081\u3066\u307f\u307e\u3059\u3002<br>\u81ea\u5206\u304c\u79fb\u884c\u3059\u308b\u3068\u304d\u306b\u95a2\u4fc2\u306e\u3042\u308b\u3082\u306e\u304c\u4e2d\u5fc3\u3068\u306a\u308a\u307e\u3059\u304c\u3054\u5bb9\u8d66\u304f\u3060\u3055\u3044\ud83d\ude47\u200d\u2642\ufe0f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u95a2\u9023\u8a18\u4e8b\u306f\u3053\u3061\u3089<\/p>\n\n\n<a class=\"linkto table\" href=\"https:\/\/hirabay.net\/?p=81\"><span class=\"tbcell tbimg\"><img loading=\"lazy\" decoding=\"async\" width=\"160\" height=\"160\" src=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/641f4e20d7d1577faae9ce68813c10e2-160x160.png\" class=\"attachment-thumb-160 size-thumb-160 wp-post-image\" alt=\"\" srcset=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/641f4e20d7d1577faae9ce68813c10e2-160x160.png 160w, https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/641f4e20d7d1577faae9ce68813c10e2-150x150.png 150w\" sizes=\"auto, (max-width: 160px) 100vw, 160px\"><\/span><span class=\"tbcell tbtext\"><time class=\"pubdate sng-link-time dfont\" itemprop=\"datePublished\" datetime=\"2023-01-18\">2023\u5e741\u670818\u65e5<\/time>SpringBoot Update\u307e\u3068\u3081<\/span><\/a>\n\n\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>110<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>115<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>122<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">\n  <li class=\"first\">\n    <a href=\"#i-0\">Versioning scheme change<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-1\">JUnit 5\u2019s Vintage Engine Removed from spring-boot-starter-test<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-2\">Config File Processing (application properties and YAML files)<\/a>\n    <ul class=\"menu_level_1\">\n      <li class=\"first\">\n        <a href=\"#i-3\">\u3053\u308c\u307e\u3067\u3068\u540c\u69d8\u306e\u52d5\u4f5c\u3092\u3055\u305b\u305f\u3044\u5834\u5408<\/a>\n      <\/li>\n      <li>\n        <a href=\"#i-4\">jar\u5916\u306eConfiguration\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408<\/a>\n      <\/li>\n      <li class=\"last\">\n        <a href=\"#i-5\">profile\u6307\u5b9a\u3092\u3057\u3066\u3044\u308b\u5834\u5408<\/a>\n      <\/li>\n    <\/ul>\n  <\/li>\n  <li>\n    <a href=\"#i-6\">Embedded database detection<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-7\">Logback Configuration Properties &amp; Web Configuration Properties<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-8\">Spring Boot Gradle Plugin<\/a>\n  <\/li>\n  <li class=\"last\">\n    <a href=\"#i-9\">Metrics export in integration tests<\/a>\n  <\/li>\n<\/ul>\n\n      \n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">Versioning scheme change<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>\/\/ 2.3\u4ee5\u524d\nid 'org.springframework.boot' version '2.3.5.RELEASE'\n\/\/ 2.4\u4ee5\u964d\nid 'org.springframework.boot' version '2.4.0'<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u307e\u3067\u306f<code>2.3.5.RELEASE<\/code>\u306e\u3088\u3046\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u6307\u5b9a\u3067\u3057\u305f\u304c\u30012.4\u7cfb\u304b\u3089\u306f<code>2.4.0<\/code>\u306e\u3088\u3046\u306b<code>RELEASE<\/code>\u304c\u8981\u3089\u306a\u304f\u306a\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">JUnit 5\u2019s Vintage Engine Removed from spring-boot-starter-test<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JUnit4\u3067\u30c6\u30b9\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u5834\u5408\u306e\u307f\u5f71\u97ff\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-lang=\"Groovy\"><code>testImplementation('org.springframework.boot:spring-boot-starter-test')\n\/\/ \u4ee5\u4e0b\u3092\u660e\u793a\u7684\u306b\u8ffd\u52a0\ntestImplementation(\"org.junit.vintage:junit-vintage-engine\") {\n    exclude group: \"org.hamcrest\", module: \"hamcrest-core\"\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>junit-vintage-engine<\/code>\u306e\u4f9d\u5b58\u304c<code>spring-boot-starter-test<\/code>\u304b\u3089\u524a\u9664\u3055\u308c\u308b\u3088\u3046\u3067\u3059\u3002<br><code>junit-vintage-engine<\/code>\u306fJunit5\u306e\u52d5\u4f5c\u74b0\u5883\u3067Junit\uff14\u306e\u8a18\u8ff0\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u305f\u3081\u3001<br>Junit4\u3067\u30c6\u30b9\u30c8\u3092\u5b9f\u88c5\u3057\u3066\u3044\u308b\u5834\u5408\u306f<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>junit-vintage-engine\u3092\u4f9d\u5b58\u306b\u52a0\u3048\u308b<\/li>\n\n\n\n<li>Junit5\u306b\u79fb\u884c\u3059\u308b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u306e\u3069\u3061\u3089\u304b\u304c\u5fc5\u8981\u306a\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\">Config File Processing (application properties and YAML files)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>application.properties<\/code>\u3084<code>application.yml<\/code>\u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u4f7f\u3044\u65b9\u3092\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001<br>\u60f3\u5b9a\u901a\u308a\u306b\u8a2d\u5b9a\u304c\u8aad\u307f\u8fbc\u307e\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u304c\u5fc5\u8981\u3089\u3057\u3044<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>profile\u6307\u5b9a<\/li>\n\n\n\n<li><code>----<\/code>\u533a\u5207\u308a\u306e\u30de\u30eb\u30c1Yaml<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u8a73\u7d30\u306a\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f<a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-Config-Data-Migration-Guide\" target=\"_blank\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">\u3053\u308c\u307e\u3067\u3068\u540c\u69d8\u306e\u52d5\u4f5c\u3092\u3055\u305b\u305f\u3044\u5834\u5408<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u3059\u3050\u306b\u79fb\u884c\u304c\u3067\u304d\u306a\u3044\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8a2d\u5b9a\u3059\u308c\u3070\u3053\u308c\u307e\u3067\u306e\u30ed\u30b8\u30c3\u30af\u3067\u52d5\u4f5c\u3059\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-properties\" data-file=\"applicaiton.properties\" data-lang=\".properties\"><code>spring.config.use-legacy-processing=true<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-yaml\" data-file=\"application.yaml\" data-lang=\"Yaml\"><code>spring:\n  config:\n    use-legacy-processing: true<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-4\">jar\u5916\u306eConfiguration\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u307e\u3067\u306f\u3001jar\u5185\u306eConfiguration\u30d5\u30a1\u30a4\u30eb\u306e\u8a2d\u5b9a\u304c\u512a\u5148\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u304c\u3001<br>2.4\u304b\u3089\u306f\u5e38\u306bjar\u5916\u306eConfiguration\u30d5\u30a1\u30a4\u30eb\u306e\u8a2d\u5b9a\u3067\u4e0a\u66f8\u304d\u3055\u308c\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u306e\u305f\u3081\u3001\u60f3\u5b9a\u901a\u308a\u306b\u8a2d\u5b9a\u304c\u53cd\u6620\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u304c\u5fc5\u8981\u305d\u3046\u3067\u3059\u3002<br>\u8a2d\u5b9a\u306e\u78ba\u8a8d\u306f\u4e00\u6642\u7684\u306benv\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u78ba\u8a8d\u3057\u3084\u3059\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3059<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-yaml\" data-file=\"application.yml\" data-lang=\"Yaml\"><code>management:\n  endpoints:\n    web:\n      exposure:\n        # \u7279\u306b\u6307\u5b9a\u3092\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u6709\u52b9\n        include: \"env\"<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\">profile\u6307\u5b9a\u3092\u3057\u3066\u3044\u308b\u5834\u5408<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>spring.profiles.active<\/code>\u3092\u5358\u4f53\u3067\u5229\u7528\u3057\u3066\u3044\u308b\u5206\u306b\u306f\u5909\u66f4\u304c\u3044\u3089\u306a\u305d\u3046\ud83e\udd14<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-6\">Embedded database detection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u30a4\u30f3\u30e1\u30e2\u30ea\u4e0a\u306b\u3042\u308b\u5834\u5408\u306e\u307f\u7d44\u307f\u8fbc\u307fDB\u3068\u898b\u306a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<br>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5834\u5408\u306b\u5f71\u97ff\u304c\u3042\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>H2\u3001HSQL\u3001Derby<\/li>\n\n\n\n<li>\u30d5\u30a1\u30a4\u30eb\u30d9\u30fc\u30b9\u3067\u6c38\u7d9a\u5316\u3001\u30b5\u30fc\u30d0\u30fc\u30e2\u30fc\u30c9\u3067\u306e\u8d77\u52d5<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f71\u97ff\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>spring.datasource.username<\/code><\/li>\n\n\n\n<li><code>spring.datasource.initialization-mode<\/code><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-7\">Logback Configuration Properties &amp; Web Configuration Properties<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Logback, MVC, WebFlux\u5468\u308a\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306b\u5909\u66f4\u304c\u3042\u308b\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5909\u66f4\u5185\u5bb9\u306f<a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.4.0-Configuration-Changelog\" rel=\"noreferrer noopener\" target=\"_blank\">\u3053\u3061\u3089<\/a>\u304c\u4e00\u89a7\u5316\u3055\u308c\u3066\u3044\u3066\u307f\u3084\u3059\u3044\u304b\u3063\u305f\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305f\u3060\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5909\u66f4\u70b9\u3092\u3059\u3079\u3066\u628a\u63e1\u3059\u308b\u306e\u306f\u53b3\u3057\u3044\u306e\u3067<code>spring-boot-properties-migrator<\/code>\u3092\u4f7f\u7528\u3059\u308b\u306e\u304c\u73fe\u5b9f\u7684\u306a\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/hirabay.net\/?p=81\">SpringBoot Update\u307e\u3068\u3081<\/a>\u306b\u624b\u9806\u3092\u8f09\u305b\u3066\u3044\u307e\u3059\u306e\u3067\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\uff01<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-8\">Spring Boot Gradle Plugin<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>bootJar {\n   \/\/ \u5909\u66f4\u524d\n   \/\/ mainClassName 'com.example.ExampleApplication'\n   \/\/ \u5909\u66f4\u5f8c\n   mainClass 'com.example.ExampleApplication'\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">main\u30af\u30e9\u30b9\u306e\u6307\u5b9a\u65b9\u6cd5\u304c\u5909\u308f\u308b\u3088\u3046\u3067\u3059<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-9\">Metrics export in integration tests<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>@SpringBootTest \n\/\/ \u660e\u793a\u7684\u306b\u8ffd\u52a0\u304c\u5fc5\u8981\n@AutoConfigureMetrics \nclass SampleTest{} <\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>@SpringBootTest<\/code>\u3067\u30e1\u30c8\u30ea\u30af\u30b9\u306e\u30c6\u30b9\u30c8\u3092\u3057\u3066\u3044\u305f\u5834\u5408\u306f\u3001<code>@AutoConfigureMetrics<\/code>\u304c\u5fc5\u8981\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>springboot 2.4\u304cGA\u3068\u306a\u308a\u307e\u3057\u305f\u3002Release Note\u3092\u53c2\u8003\u306b2.3\u7cfb\u304b\u30892.4\u7cfb\u3078\u306e\u79fb\u884c\u65b9\u6cd5\u3092\u307e\u3068\u3081\u3066\u307f\u307e\u3059\u3002\u81ea\u5206\u304c\u79fb\u884c\u3059\u308b\u3068\u304d\u306b\u95a2\u4fc2\u306e\u3042\u308b\u3082\u306e\u304c\u4e2d\u5fc3\u3068\u306a\u308a\u307e\u3059\u304c\u3054\u5bb9\u8d66\u304f\u3060\u3055\u3044\ud83d\ude47\u200d\u2642\ufe0f \u95a2\u9023\u8a18\u4e8b\u306f\u3053\u3061 &#8230; <\/p>\n","protected":false},"author":1,"featured_media":159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[13,34],"class_list":["post-153","post","type-post","status-publish","format-standard","has-post-thumbnail","category-6","tag-springboot","tag-springboot2-4"],"jetpack_featured_media_url":"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/4865df02df42953e08bbb03a7f1c168e.png","_links":{"self":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=153"}],"version-history":[{"count":2,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":226,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions\/226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/media\/159"}],"wp:attachment":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}