{"id":130,"date":"2023-01-19T17:51:37","date_gmt":"2023-01-19T08:51:37","guid":{"rendered":"https:\/\/hirabay.net\/?p=130"},"modified":"2023-02-08T21:22:08","modified_gmt":"2023-02-08T12:22:08","slug":"springboot-2-5-to-2-6-%e3%83%a1%e3%83%a2","status":"publish","type":"post","link":"https:\/\/hirabay.net\/?p=130","title":{"rendered":"SpringBoot 2.5 to 2.6 \u30e1\u30e2"},"content":{"rendered":"\n<p>springboot 2.6\u304cGA\u3068\u306a\u308a\u307e\u3057\u305f<br><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes\" target=\"_blank\">Release Note<\/a>\u3092\u53c2\u8003\u306b2.5\u7cfb\u304b\u3089\u306e\u5909\u66f4\u70b9\u3092\u307e\u3068\u3081\u307e\u3059<br>\u81ea\u5206\u304c\u79fb\u884c\u3059\u308b\u3068\u304d\u306b\u95a2\u4fc2\u306e\u3042\u308b\u3082\u306e\u3084\u8208\u5473\u304c\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>\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\">Minimum Requirements Changes<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-1\">Circular References Prohibited by Default<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-2\">PathPattern Based Path Matching Strategy for Spring MVC<\/a>\n    <ul class=\"menu_level_1\">\n      <li class=\"first\">\n        <a href=\"#i-3\">1. {*string}<\/a>\n      <\/li>\n      <li>\n        <a href=\"#i-4\">2.\u00a0**<\/a>\n      <\/li>\n      <li class=\"last\">\n        <a href=\"#i-5\">AntPathMatcher\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\uff1f<\/a>\n      <\/li>\n    <\/ul>\n  <\/li>\n  <li>\n    <a href=\"#i-6\">Actuator Env InfoContributor Disabled by Default<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-7\">Oracle Database Driver Dependency Management<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-8\">Redis Connection Pooling<\/a>\n  <\/li>\n  <li class=\"last\">\n    <a href=\"#i-9\">Using WebTestClient for Testing Spring MVC<\/a>\n  <\/li>\n<\/ul>\n\n      \n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#minimum-requirements-changes\" target=\"_blank\">Minimum Requirements Changes<\/a><\/h2>\n\n\n\n<p>\u5909\u66f4\u306a\u3057\u3068\u306e\u3053\u3068\u306a\u306e\u3067\u3001<br>\u65e2\u5b58\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306eGradle\u3084Java\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u305d\u306e\u307e\u307e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u53ef\u80fd\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#circular-references-prohibited-by-default\" target=\"_blank\">Circular References Prohibited by Default<\/a><\/h2>\n\n\n\n<p>Bean\u9593\u306e\u5faa\u74b0\u53c2\u7167\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u7981\u6b62\u3068\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<br>\u5faa\u74b0\u53c2\u7167\u304c\u3042\u308b\u3068\u8d77\u52d5\u304c<code>BeanCurrentlyInCreationException<\/code>\u3067\u5931\u6557\u3059\u308b\u3068\u306e\u3053\u3068\u3002<\/p>\n\n\n\n<p>\u57fa\u672c\u7684\u306b\u306f\u5faa\u74b0\u53c2\u7167\u306f\u89e3\u6d88\u3057\u3066\u3042\u3052\u305f\u307b\u3046\u304c\u3044\u3044\u3068\u601d\u3044\u307e\u3059\u304c\u3001<br>\u4ee5\u4e0b\u306e\u3088\u3046\u306bproperty\u3067\u8a31\u5bb9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-properties\" data-file=\"application.properties\" data-lang=\".properties\"><code>spring.main.allow-circular-references = 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  main:\n    allow-circular-references: true<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#pathpattern-based-path-matching-strategy-for-spring-mvc\" target=\"_blank\">PathPattern Based Path Matching Strategy for Spring MVC<\/a><\/h2>\n\n\n\n<p>\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d1\u30b9\u306e\u5224\u5b9a\u30af\u30e9\u30b9\u304c\u3001<code>AntPathMatcher<\/code>\u304b\u3089<code>PathPatternParser<\/code>\u306b\u5909\u308f\u308a\u307e\u3059\u3002<br>\u57fa\u672c\u7684\u306b\u306f\u4e92\u63db\u6027\u304c\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u4ee5\u4e0b\uff12\u3064\u304c\u5dee\u5206\u3068\u306e\u3053\u3068\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>{*string}<\/code>\u3068\u3044\u3046\u69cb\u6587\u304c\u8ffd\u52a0\u3055\u308c\u30010\u500b\u4ee5\u4e0a\u306e\u30d1\u30b9\u30bb\u30b0\u30e1\u30f3\u30c8\u3092<code>@PathVariable<\/code>\u3067\u53d6\u5f97\u3067\u304d\u308b<\/li>\n\n\n\n<li><code>**<\/code>\u3092\u7528\u3044\u305f\u30de\u30c3\u30c1\u30f3\u30b0\u304c\u30d1\u30bf\u30fc\u30f3\u306e\u6700\u5f8c\u3067\u306e\u307f\u8a31\u5bb9\u3055\u308c\u308b\uff08<code>\/**\/hoge<\/code>\u3068\u304b\u304cNG\uff09<\/li>\n<\/ol>\n\n\n\n<p>\u53c2\u8003\uff1a<\/p>\n\n\n<p><\/p><div class=\"linkcard\"><div class=\"lkc-external-wrap\"><a class=\"lkc-link no_icon\" href=\"https:\/\/spring.io\/blog\/2020\/06\/30\/url-matching-with-pathpattern-in-spring-mvc\" target=\"_blank\" rel=\"external noopener\"><div class=\"lkc-card\"><div class=\"lkc-info\"><img loading=\"lazy\" decoding=\"async\" class=\"lkc-favicon\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=spring.io\" alt=\"\" width=\"16\" height=\"16\"><div class=\"lkc-domain\">spring.io<\/div>&nbsp;<div class=\"lkc-share\"> <div class=\"lkc-sns-hb\">1 User<\/div> <div class=\"lkc-sns-po\">68 Pockets<\/div><\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/hirabay.net\/wp-content\/uploads\/pz-linkcard\/cache\/37ec5a117d4b64a388eb9822b43cead7c1c82d636a8bd6e243209d8784eeca61.jpeg\" alt=\"\"><\/figure><div class=\"lkc-title\"><div class=\"lkc-title-text\">URL Matching with PathPattern in Spring MVC<\/div><\/div><div class=\"lkc-url\">https:\/\/spring.io\/blog\/2020\/06\/30\/url-matching-with-pathpattern-in-spring-mvc<\/div><div class=\"lkc-excerpt\">The recent Spring Framework 5.3 M1 release announcement mentions \u201cSpring MVC comes with PathPattern parsing for efficient URL matching\u201d. This post expands on that with more context and detail.OverviewIn Spring \u2026<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n\n\n\n<p>\u305d\u308c\u305e\u308c\u3082\u3046\u5c11\u3057\u6df1\u6398\u308a\u3057\u3066\u307f\u307e\u3059<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">1. <code>{*string}<\/code><\/h3>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306aController\u3092\u5b9a\u7fa9\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>@RestController\npublic class SampleController {\n    @GetMapping(\"\/{*path}\")\n    public String message(@PathVariable String path) {\n        return path;\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p>curl\u3067\u53e9\u3044\u3066\u307f\u308b\u3068\u78ba\u304b\u306b\u8907\u6570\u30d1\u30b9\u304c\u53d6\u5f97\u3067\u304d\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-bash\" data-lang=\"Bash\"><code>$ curl http:\/\/localhost:8080\/hoge\n\/hoge\n\n$ curl http:\/\/localhost:8080\/hoge\/fuga\n\/hoge\/fuga<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-4\">2.&nbsp;<code>**<\/code><\/h3>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306aController\u3092\u5b9a\u7fa9\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>@RestController\npublic class SampleController {\n    @GetMapping(\"\/**\/hello\")\n    public String hello() {\n        return \"hello\";\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u8d77\u52d5\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3002\u3002<br>\uff08\u4f7f\u3048\u306a\u304f\u306a\u3063\u305f\u69cb\u6587\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u5f53\u7136\u3067\u3059\u306d\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-plain\" data-file=\"\u30ed\u30b0\"><code>***************************\nAPPLICATION FAILED TO START\n***************************\n\nDescription:\n\nInvalid mapping pattern detected: \/**\/hello\n^\nNo more pattern data allowed after {*...} or ** pattern element\n\nAction:\n\nFix this pattern in your application or switch to the legacy parser implementation with 'spring.mvc.pathmatch.matching-strategy=ant_path_matcher'.<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-5\"><code>AntPathMatcher<\/code>\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\uff1f<\/h3>\n\n\n\n<p>\u65e2\u5b58\u306e\u52d5\u304d\u3092\u5909\u3048\u305f\u304f\u306a\u3044\u3068\u304d\u3067\u3059\u306d\u3002<br>\u8d77\u52d5\u5931\u6557\u6642\u306e\u30ed\u30b0\u306b\u3082\u51fa\u3066\u3044\u307e\u3059\u304c\u3001\u4ee5\u4e0b\u306eproperty\u3092\u8a2d\u5b9a\u3059\u308c\u3070OK\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-properties\" data-file=\"application.properties\" data-lang=\".properties\"><code>spring.mvc.pathmatch.matching-strategy=ant_path_matcher<\/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  mvc:\n    pathmatch:\n      matching-strategy: ant_path_matcher<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-6\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#actuator-env-infocontributor-disabled-by-default\" target=\"_blank\">Actuator Env InfoContributor Disabled by Default<\/a><\/h2>\n\n\n\n<p>Actuator\u306e<code>info<\/code>\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u7121\u52b9\u306b\u306a\u308b\u3068\u306e\u3053\u3068<\/p>\n\n\n\n<p><code>info<\/code>\u3092\u4f7f\u3063\u3066\u3044\u308b\u5834\u5408\u306fproperty\u3067\u6709\u52b9\u306b\u3057\u3066\u3042\u3052\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-properties\" data-file=\"application.properties\" data-lang=\".properties\"><code>management.info.env.enabled=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>management:\n  info:\n    env:\n      enabled: true<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-7\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#oracle-database-driver-dependency-management\" target=\"_blank\">Oracle Database Driver Dependency Management<\/a><\/h2>\n\n\n\n<p>Oracle\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30c9\u30e9\u30a4\u30d0\u306e\u4f9d\u5b58\u95a2\u4fc2\u304c\u6574\u7406\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><del><code>com.oracle.ojdbc<\/code>\u30b0\u30eb\u30fc\u30d7\u306e\u30c9\u30e9\u30a4\u30d0\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f<code>com.oracle.database.jdbc<\/code>\u30b0\u30eb\u30fc\u30d7\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u5909\u66f4\u3059\u308b\u5fc5\u8981\u3042\u308a\uff01<\/del><\/p>\n\n\n\n<p>\u4f9d\u5b58\u95a2\u4fc2\u306e\u6574\u7406\u306e\u307f\u306e\u305f\u3081\u3001\u660e\u793a\u7684\u306bversion\u3092\u6307\u5b9a\u3057\u3066\u3042\u3052\u308c\u3070<code>com.oracle.ojdbc<\/code>\u3092\u4f7f\u3063\u3066\u3044\u3066\u3082OK\uff01<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-8\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#redis-connection-pooling\" target=\"_blank\">Redis Connection Pooling<\/a><\/h2>\n\n\n\n<p><code>commons-pool2<\/code>\u304c\u30af\u30e9\u30b9\u30d1\u30b9\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u30d7\u30fc\u30ea\u30f3\u30b0\u304c\u6709\u52b9\u306b\u306a\u308b\u3068\u306e\u3053\u3068\u3002<\/p>\n\n\n\n<p>\u3058\u3083\u3042\u3001\u4f8b\u3048\u3070<code>spring-boot-starter-data-redis:2.6.0<\/code>\u3092\u5229\u7528\u3057\u305f\u6642\u306b<code>commons-pool2<\/code>\u3082\u4f9d\u5b58\u306b\u542b\u307e\u308c\u308b\u304b\u3068\u8a00\u3046\u3068No\u3060\u3063\u305f\u306e\u3067\u3001\u660e\u793a\u7684\u306b\u4f9d\u5b58\u306b\u8ffd\u52a0\u3057\u3066\u3044\u306a\u3044\u9650\u308a\u306f\u30d7\u30fc\u30ea\u30f3\u30b0\u306e\u5f71\u97ff\u306f\u306a\u3055\u305d\u3046<\/p>\n\n\n\n<p>\u7121\u52b9\u306b\u3059\u308b\u5834\u5408\u306fjedis\u306a\u306e\u304blettuce\u306a\u306e\u304b\u306b\u5fdc\u3058\u3066\u4ee5\u4e0b\u306eproperty\u3092\u8a2d\u5b9a\u3059\u308c\u3070OK<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-properties\" data-file=\"application.properties\" data-lang=\".properties\"><code>spring.redis.jedis.pool.enabled=false\nspring.redis.lettuce.pool.enabled=false<\/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  redis:\n    jedis:\n      pool:\n        enabled: false\n    lettuce:\n      pool:\n        enabled: false<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-9\"><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-2.6-Release-Notes#using-webtestclient-for-testing-spring-mvc\" target=\"_blank\">Using WebTestClient for Testing Spring MVC<\/a><\/h2>\n\n\n\n<p>Spring MVC\u306e\u30c6\u30b9\u30c8\u3092<code>WebTestClient<\/code>\u3092\u4f7f\u3063\u3066\u8a18\u8ff0\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff01<\/p>\n\n\n\n<p><code>WebTestClient<\/code>\u306e\u65b9\u304c\u691c\u8a3c\u306e\u5b9f\u88c5\u304c\u66f8\u304d\u3084\u3059\u3044\u5370\u8c61\u306a\u306e\u3067\u500b\u4eba\u7684\u306b\u306f\u5b09\u3057\u3044\u3002<\/p>\n\n\n\n<p>\u5229\u7528\u306b\u306f<code>WebClient<\/code>\u304c\u5b58\u5728\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067\u3001web\u306e\u307f\u306e\u5229\u7528\u3067\u3042\u308c\u3070\u30c6\u30b9\u30c8\u306e\u4f9d\u5b58\u3067webflux\u3092\u8ffd\u52a0\u3057\u3066\u3042\u3052\u308b<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>dependencies {\n    implementation 'org.springframework.boot:spring-boot-starter-web'\n\n    testImplementation 'org.springframework.boot:spring-boot-starter-test'\n    testImplementation 'org.springframework:spring-webflux:5.3.4'\n    testImplementation 'io.projectreactor.netty:reactor-netty:1.0.4'\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u30c6\u30b9\u30c8\u306e\u5b9f\u88c5\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>@AutoConfigureMockMvc\n@SpringBootTest\nclass SpringWebControllerTest {\n    @Autowired\n    WebTestClient webTestClient;\n\n    @Test\n    void test() {\n        webTestClient.get()\n                .uri(\"\/hello\")\n                .exchange()\n                .expectStatus().isOk();\n    }\n}<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>springboot 2.6\u304cGA\u3068\u306a\u308a\u307e\u3057\u305fRelease Note\u3092\u53c2\u8003\u306b2.5\u7cfb\u304b\u3089\u306e\u5909\u66f4\u70b9\u3092\u307e\u3068\u3081\u307e\u3059\u81ea\u5206\u304c\u79fb\u884c\u3059\u308b\u3068\u304d\u306b\u95a2\u4fc2\u306e\u3042\u308b\u3082\u306e\u3084\u8208\u5473\u304c\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\u3089  &#8230; <\/p>\n","protected":false},"author":1,"featured_media":131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[13,29],"class_list":{"0":"post-130","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-6","8":"tag-springboot","9":"tag-springboot2-6"},"jetpack_featured_media_url":"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/SpringBoot2_6.png","_links":{"self":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/130","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=130"}],"version-history":[{"count":5,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/130\/revisions"}],"predecessor-version":[{"id":221,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/130\/revisions\/221"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/media\/131"}],"wp:attachment":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}