{"id":205,"date":"2024-02-24T18:06:09","date_gmt":"2024-02-24T09:06:09","guid":{"rendered":"https:\/\/se-pg-toolbox.com\/?p=205"},"modified":"2024-02-24T18:06:40","modified_gmt":"2024-02-24T09:06:40","slug":"%e3%80%90java%e3%80%91springboot%e3%81%a7di%e3%82%b3%e3%83%b3%e3%83%86%e3%83%8a%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%82%af%e3%83%a9%e3%82%b9%e3%81%ae%e6%b3%a8%e5%85%a5%e3%82%92%e8%a1%8c%e3%81%a3-3","status":"publish","type":"post","link":"https:\/\/se-pg-toolbox.com\/?p=205","title":{"rendered":"\u3010Java\u3011SpringBoot\u3067DI\u30b3\u30f3\u30c6\u30ca\u3092\u4f7f\u3063\u3066\u30af\u30e9\u30b9\u306e\u6ce8\u5165\u3092\u884c\u3063\u3066\u307f\u305f\uff08\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u7de8\u305d\u306e\uff12\uff09"},"content":{"rendered":"\n<p>\u4eca\u56de\u306fJava\u3067SpringBoot\u3092\u4f7f\u3063\u3066DI\u30b3\u30f3\u30c6\u30ca\u3092\u4f7f\u3063\u305f\u30af\u30e9\u30b9\u306e\u6ce8\u5165\u3092\u884c\u3044\u307e\u3059\u3002<br><br>\u4eca\u56de\u4f7f\u3046\u306e\u306f\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3068\u3044\u3046\u306e\u3082\u306e\u3067\u3001\u30e1\u30bd\u30c3\u30c9\u3084\u30af\u30e9\u30b9\u306e\u524d\u306b\uff20\u00d7\u00d7\u00d7\u00d7\u306a\u3069\u306e\u8868\u8a18\u3092\u8ffd\u8a18\u3059\u308b\u3082\u306e\u3067\u3059\u3002<br><br>\u4eca\u56de\u4f7f\u3046\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u306f@Autowired\u3068@Qualifier\u3001@Configuration\u3001@Bean\u3068\u3044\u3046\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u56de\u4f7f\u3046\u30bd\u30fc\u30b9\u306b\u3064\u3044\u3066<\/h2>\n\n\n\n<p>\u4eca\u56de\u4f7f\u3046\u30bd\u30fc\u30b9\u306f\u4ee5\u4e0b\u306e6\u3064\u3067\u3059\u3002<\/p>\n\n\n\n<p>\uff11\uff0e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3059\u308bjava\u30bd\u30fc\u30b9\uff08Article92Application.java\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>package com.example.demo;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\n\/\/JAVA\u30d9\u30fc\u30b9\u306eDI\u30b3\u30f3\u30c6\u30ca\u5229\u7528\n@SpringBootApplication\npublic class Article922Application {\n\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(Article922Application.class, args);\n\t}\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u4eca\u56de\u3082\u3053\u306e\u30bd\u30fc\u30b9\u306b\u95a2\u3057\u3066\u306fDI\u30b3\u30f3\u30c6\u30ca\u306b\u95a2\u3059\u308b\u8a18\u8ff0\u3092\u884c\u3063\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>\uff12\uff0eDI\u30b3\u30f3\u30c6\u30ca\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30af\u30e9\u30b9<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\" data-line=\"8,10\"><code>package com.example.demo;\n\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\n\nimport dayYoubiBean.Day2Youbi;\n\n@Configuration\npublic class AppConfig {\n\t@Bean(&quot;day2Youbi&quot;)\n\tDay2Youbi day2Youbi() {\n\t\treturn new Day2Youbi();\n\t}\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306e\u30af\u30e9\u30b9\u3067\u6ce8\u76ee\u3057\u305f\u3044\u306e\u306f8\u884c\u76ee\u306e\uff20Configuration\u306810\u884c\u76ee\u306e\uff20Bean\u3068\u3044\u3046\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u306d\u3002<br><br><span class=\"marker2\">\uff20Configuration\u3092\u4ed8\u3051\u308b\u3053\u3068\u3067\u3001DI\u30b3\u30f3\u30c6\u30ca\u306e\u5bfe\u8c61\u306e\u30af\u30e9\u30b9\u3067\u3042\u308b\u3053\u3068\u3092\u5ba3\u8a00<\/span>\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br><br>\u305d\u3057\u3066\u3001<span class=\"marker2\">\uff20Bean\u3067\u3059\u304c\u3001\u30af\u30e9\u30b9\u5185\u306eDI\u30b3\u30f3\u30c6\u30ca\u306e\u5bfe\u8c61\u306e\u30e1\u30bd\u30c3\u30c9\u3068\u3059\u308b\u3068\u540c\u6642\u306b\u3001\u3069\u3093\u306a\u540d\u524d\u3067\u53c2\u7167\u3059\u308b\u304b\u306e\u5b9a\u7fa9<\/span>\u3092\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002<br><br><span class=\"marker2\">\u3053\u306e\u540d\u524d\u3092\u3001\uff20Qualifier\u306e\u5f15\u6570\u306b\u5165\u308c\u3066\u3042\u3052\u308b\u3053\u3068\u3067\u3001\uff20Bean\u3092\u4ed8\u4e0e\u3057\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u51fa\u6765\u308b<\/span>\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\uff13\uff0e\u66dc\u65e5\u3092\u5909\u63db\u3059\u308b\u51e6\u7406\u3092\u5b9a\u7fa9\u3057\u305f\u30af\u30e9\u30b9\uff08ConvertYoubiController.java\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\" data-line=\"22-23\"><code>package com.example.demo;\n\nimport java.time.DayOfWeek;\nimport java.time.LocalDate;\nimport java.time.format.DateTimeFormatter;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.beans.factory.annotation.Qualifier;\nimport org.springframework.stereotype.Controller;\nimport org.springframework.ui.Model;\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.PostMapping;\nimport org.springframework.web.bind.annotation.RequestMapping;\n\nimport dayYoubiBean.Day2Youbi;\n\n@Controller\n@RequestMapping()\npublic class ConvertYoubiController {\n\t\/\/DI\u30b3\u30f3\u30c6\u30ca\u6ce8\u5165\u5bfe\u8c61\u3068\u306a\u308b\u30af\u30e9\u30b9\n\tpublic static Day2Youbi d2y;\n\t@Autowired\n\t@Qualifier(&quot;day2Youbi&quot;)\n\tpublic void setDay2Youbi(Day2Youbi day2Youbi) {\n\t\td2y = day2Youbi;\n\t}\n\t\/\/\u5165\u529b\u3057\u305f\u897f\u66a6\u3068\u5e74\u6708\u65e5\u304b\u3089\u66dc\u65e5\u3092\u53d6\u5f97\u3059\u308b\n\t@PostMapping(&quot;\/index\/getYoubi&quot;)\n\tpublic String getYoubi(Frm form, Model model) {\n\t\tString retYoubi;\n\t\t\/\/\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u9001\u4fe1\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092\u53d7\u3051\u53d6\u308b\n\t\tString yyyyMMdd = form.getBirth();\n\t\t\/\/\u53d7\u3051\u53d6\u3063\u305f\u3089LocalDate\u5f62\u5f0f\u306b\u5909\u63db\u3059\u308b\n\t\tLocalDate ld = LocalDate.parse(yyyyMMdd, DateTimeFormatter.ofPattern(&quot;yyyyMMdd&quot;));\n\t\t\/\/\u66dc\u65e5\u3092\u53d6\u5f97\n\t\tDayOfWeek dow = ld.getDayOfWeek();\n\t\t\n\t\t\/\/ \u65e5\u4ed8\u304b\u3089\u66dc\u65e5\u3092\u53d6\u5f97\u3059\u308b\n\t\tretYoubi = d2y.Day2YoubiOpe(dow);\n\t\t\n\t\t\/\/\u30d5\u30a9\u30fc\u30e0\u306b\u8868\u793a\u3059\u308b\u60c5\u5831\u3092\u30bb\u30c3\u30c8\u3059\u308b\n\t\tmodel.addAttribute(&quot;youbi&quot;, retYoubi);\n\t\tmodel.addAttribute(&quot;birth&quot;, yyyyMMdd);\n\t\treturn &quot;convertYoubi&quot;;\n\t}\n\t@GetMapping(&quot;\/index&quot;)\n\tpublic String index(Model model) {\n\t\t\/\/\u30d5\u30a9\u30fc\u30e0\u306b\u8868\u793a\u3059\u308b\u60c5\u5831\u3092\u30bb\u30c3\u30c8\u3059\u308b\n\t\tmodel.addAttribute(&quot;youbi&quot;, &quot;&quot;);\n\t\treturn &quot;convertYoubi&quot;;\n\t}\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306e\u30bd\u30fc\u30b9\u3067\u6ce8\u76ee\u3057\u3066\u3044\u305f\u3060\u304d\u305f\u3044\u306e\u304c<span class=\"marker2\">22\u884c\u76ee\u306e@Autowired\u306823\u884c\u76ee\u306e@Qualifier(&#8220;day2Youbi&#8221;)<\/span>\u3067\u3059\u3002<br><br>22\u884c\u76ee\u306e@Autowired\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u306b\u3088\u308aDI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308a\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3057\u3066\u304f\u308c\u307e\u3059\u3002<br><br>\u307e\u305f\u3001<span class=\"marker2\">23\u884c\u76ee\u306e@Qualifier\u3067\u3059\u304c\u3001DI\u30b3\u30f3\u30c6\u30ca\u3092\u751f\u6210\u3059\u308b\u30af\u30e9\u30b9\u306e\uff20Bean\u3067\u540d\u524d\u3092\u4ed8\u3051\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3059\u305f\u3081\u306b\u4f7f\u7528<\/span>\u3057\u3066\u3044\u307e\u3059\uff08\uff12\uff0e\u306e\u30bd\u30fc\u30b9\u3067\u201dday2Youbi\u201d\u3068\u3044\u3046\u540d\u524d\u3067\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u306e\u3067\u3001\uff20Qualifier\u306e\u5f15\u6570\u306b\u3082\u540c\u3058\u3088\u3046\u306b\u201dday2Youbi\u201d\u3068\u3044\u3046\u540d\u524d\u3092\u5f15\u6570\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\uff09\u3002<\/p>\n\n\n\n<p>\uff14\uff0e\u30d5\u30a9\u30fc\u30e0\u3067\u8868\u793a\u3059\u308b\u305f\u3081\u306eGet\u3001Set\u30af\u30e9\u30b9\u306e\u5b9a\u7fa9\uff08Frm.java\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>package com.example.demo;\n\npublic class Frm {\n\t\/\/private String youbi = &quot;&quot;;\n\tprivate String birth = &quot;&quot;;\n\t\n\tpublic String getBirth() {\n\t\treturn this.birth;\n\t}\n\t\n\tpublic void setBirth(String birth) {\n\t\tthis.birth = birth;\n\t}\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306e\u30af\u30e9\u30b9\u306f\u30d5\u30a9\u30fc\u30e0\u304b\u3089\u306e\u5165\u529b\u5024\u3092\u53d7\u3051\u53d6\u308a\u3001ConvertYoubiController\u30af\u30e9\u30b9\u306egetYoubi\u30e1\u30bd\u30c3\u30c9\u3067\u306e\u51e6\u7406\u306b\u5229\u7528\u3057\u3001\u518d\u8868\u793a\u5f8c\u3082\u30d5\u30a9\u30fc\u30e0\u306e\u5165\u529b\u3092\u4fdd\u6301\u3059\u308b\u305f\u3081\u306b\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\uff15\uff0e\u897f\u66a6\u306e\u5e74\u6708\u65e5\u304b\u3089\u66dc\u65e5\u3092\u8a08\u7b97\u3059\u308b\u30af\u30e9\u30b9\uff08Day2Youbi.java\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>package dayYoubiBean;\n\nimport java.time.DayOfWeek;\n\n\/\/DI\u30b3\u30f3\u30c6\u30ca\u6ce8\u5165\u304c\u306a\u3055\u308c\u308b\u30af\u30e9\u30b9\n\npublic class Day2Youbi{\t\n\t\/\/\u65e5\u4ed8\u304b\u3089\u66dc\u65e5\u3092\u5224\u65ad\u3059\u308b\n\tpublic String Day2YoubiOpe(DayOfWeek dow) {\n\t\tString retYoubi =&quot;&quot;;\n\t\t\n\t\t\/\/ \u65e5\u4ed8\u304b\u3089\u66dc\u65e5\u3092\u53d6\u5f97\u3059\u308b\n\t\tswitch (dow) { \n\t\t    case SUNDAY: \n\t\t    \tretYoubi=&quot;\u65e5&quot;;\n\t\t        break;\n\t\t    case MONDAY: \n\t\t    \tretYoubi=&quot;\u6708&quot;;\n\t\t        break;\n\t\t    case TUESDAY:\n\t\t    \tretYoubi=&quot;\u706b&quot;;\n\t\t        break;\n\t\t    case WEDNESDAY:\n\t\t    \tretYoubi=&quot;\u6c34&quot;;\n\t\t        break;\n\t\t    case THURSDAY:\n\t\t    \tretYoubi=&quot;\u6728&quot;;\n\t\t        break;\n\t\t    case FRIDAY:\n\t\t    \tretYoubi=&quot;\u91d1&quot;;\n\t\t        break;\n\t\t    case SATURDAY: \n\t\t    \tretYoubi=&quot;\u571f&quot;;\n\t\t        break;\n\t\t    default:\n\t\t    \tretYoubi=&quot;\u66dc\u65e5\u53d6\u5f97\u5931\u6557&quot;;     \t\n\t\t}\n\t\treturn retYoubi;\n\t}\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306e\u30bd\u30fc\u30b9\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9\u304cDI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u306e\u5bfe\u8c61\u3068\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001<span class=\"marker2\">\u3053\u306e\u30bd\u30fc\u30b9\u81ea\u4f53\u306b\u4f55\u3082DI\u30b3\u30f3\u30c6\u30ca\u306b\u95a2\u3059\u308b\u8a18\u8ff0\u304c\u306a\u3044<\/span>\u6240\u304c\u3001\u524d\u56de\u306e\u65b9\u6cd5\u3068\u7570\u306a\u308b\u90e8\u5206\u3067\u3059\u3002<br><br>\uff12\uff0e\u306eAppConfig\u30af\u30e9\u30b9\u3067\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u4f5c\u6210\u3057\u3066\u3044\u3066\u3001DI\u30b3\u30f3\u30c6\u30ca\u306e\u5bfe\u8c61\u3068\u3057\u3066\u3044\u308b\u305f\u3081\u3001<span class=\"marker2\">\u3053\u306e\u30bd\u30fc\u30b9\u306b\u306f@Componet\u3068\u3044\u3046\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u304c\u3064\u3044\u3066\u3044\u306a\u3044<\/span>\u3053\u3068\u306b\u6ce8\u76ee\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<p>\uff16\uff0e\u753b\u9762\u8868\u793a\u7528\u30da\u30fc\u30b8\uff08convertYoubi.html\uff09<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code>&lt;!DOCTYPE html&gt;\n&lt;html xmlns:th=&quot;https:\/\/www.thymeleaf.org&quot;&gt;\n &lt;head&gt;\n  &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text\/html; charset=UTF-8&quot; \/&gt;\n  &lt;title&gt;\u9001\u4fe1\u306e\u30c7\u30e2&lt;\/title&gt;\n &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;form action=&quot;#&quot; th:action=&quot;@{\/index\/getYoubi}&quot; th:object=&quot;${frm}&quot; method=&quot;post&quot;&gt;\n      &lt;table&gt;\n        &lt;tr&gt;\n\t\t\t&lt;td&gt;\u751f\u5e74\u6708\u65e5\uff0819800101\u306e\u5f62\u5f0f\u3067\u5165\u529b\uff09&lt;\/td&gt;\n\t\t\t&lt;td&gt;\n\t\t\t\t&lt;input type=&quot;text&quot; maxlength=&quot;10&quot; id=&quot;birth&quot; name=&quot;birth&quot; th:value=&quot;${birth}&quot; \/&gt;\n\t\t\t&lt;\/td&gt;\n\t\t&lt;\/tr&gt;\n      &lt;\/table&gt;\n      &lt;table&gt;\n        &lt;tr&gt;\n\t\t\t&lt;td th:text=&quot;\u3042\u306a\u305f\u306f + ${youbi} + \u66dc\u65e5\u306b\u751f\u307e\u308c\u307e\u3057\u305f\u3002&quot;&gt;\n\t\t\t&lt;\/td&gt;\n\t\t&lt;\/tr&gt;\n      &lt;\/table&gt;\n          &lt;input type=&quot;submit&quot; value=&quot;\u9001\u4fe1&quot;&gt;\n    &lt;\/form&gt;\n\n  &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre><\/div>\n\n\n\n<p>\u753b\u9762\u306e\u8868\u793a\u306e\u305f\u3081\u306bHTML\u3067\u66f8\u304b\u308c\u305f\u30da\u30fc\u30b8\u3067\u3059\u3002<br><br>\u4eca\u56de\u3082Thymeleaf\u306b\u3088\u308aJava\u5074\u304b\u3089\u53d7\u3051\u53d6\u3063\u305f\u5909\u6570\u306e\u5185\u5bb9\u3092\u8868\u793a\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u52d5\u4f5c\u306e\u78ba\u8a8d<\/h2>\n\n\n\n<p>\u3067\u306f\u3001\u4e0a\u8a18\u3067\u5b9a\u7fa9\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u52d5\u304b\u3057\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002<br><br>\u4eca\u56de\u3082\u524d\u56de\u3068\u540c\u69d8\u306b\u897f\u66a6\u3068\u5e74\u6708\u65e5\u3092\u5165\u529b\u3059\u308b\u3068\u66dc\u65e5\u3092\u8a08\u7b97\u3057\u3066\u304f\u308c\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br><br>\u521d\u671f\u8868\u793a\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"171\" src=\"https:\/\/se-pg-toolbox.com\/wp-content\/uploads\/2024\/02\/article15-1.png\" alt=\"\" class=\"wp-image-206\" \/><\/figure>\n\n\n\n<p>\u9069\u5f53\u306b\u897f\u66a6\u3068\u5e74\u6708\u65e5\u3092\u5165\u529b\u3057\u3066\u3001\u300c\u9001\u4fe1\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"145\" src=\"https:\/\/se-pg-toolbox.com\/wp-content\/uploads\/2024\/02\/article15-2.png\" alt=\"\" class=\"wp-image-207\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"727\" height=\"151\" src=\"https:\/\/se-pg-toolbox.com\/wp-content\/uploads\/2024\/02\/article15-3.png\" alt=\"\" class=\"wp-image-208\" \/><\/figure>\n\n\n\n<p>\u9001\u4fe1\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u3001\u304d\u3061\u3093\u3068\u66dc\u65e5\u304c\u8868\u793a\u3055\u308c\u307e\u3057\u305f\u3002<br><br>\u3053\u306e\u3053\u3068\u306b\u3088\u308a\u3001Day2Youbi.java\u3067\u8a18\u8f09\u3057\u305f\u30af\u30e9\u30b9\u3068\u51e6\u7406\u304c\u304d\u3061\u3093\u3068\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3068\u3057\u3066\u751f\u6210\u3055\u308c\u3001\u52d5\u4f5c\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002<br><br>\u3064\u307e\u308a\u3001DI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308a\u6b63\u5e38\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u6ce8\u5165\u3055\u308c\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u52d5\u3044\u305f\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u56de\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u69cb\u6210<\/h2>\n\n\n\n<p>\u4eca\u56de\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30bd\u30fc\u30b9\u306e\u69cb\u6210\u3068\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"805\" src=\"https:\/\/se-pg-toolbox.com\/wp-content\/uploads\/2024\/02\/article15-4.png\" alt=\"\" class=\"wp-image-209\" \/><\/figure>\n\n\n\n<p>DI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u6ce8\u5165\u306e\u30af\u30e9\u30b9\u3092\u5225\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3057\u305f\u304b\u3063\u305f\u305f\u3081\u3001\u3053\u306e\u3088\u3046\u306a\u69cb\u6210\u3068\u3057\u307e\u3057\u305f\u3002<br><br>\u305f\u3060\u3001DI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u6ce8\u5165\u306e\u8a2d\u5b9a\u3092\u884c\u3046\u30af\u30e9\u30b9\u306e\u30bd\u30fc\u30b9\u306f\u3001\u30e1\u30a4\u30f3\u51e6\u7406\u3092\u884c\u3046\u30bd\u30fc\u30b9\u3068\u540c\u3058\u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002<br><br>\u3053\u308c\u306f\u3001\u524d\u56de\u306e\u6642\u306e\u3088\u3046\u306b\u3053\u306e\u30bd\u30fc\u30b9\u3092\u5225\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u79fb\u52d5\u3055\u305b\u308b\u3068\u3001<br>\u3046\u307e\u304f\uff20Autowired\u3067\u8a8d\u8b58\u3067\u304d\u306a\u3044\u61f8\u5ff5\u304c\u3042\u3063\u305f\u305f\u3081\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u56de\u306eDI\u30b3\u30f3\u30c6\u30ca\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u6ce8\u5165\u306e\u66f8\u304d\u65b9\u306e\u30e1\u30ea\u30c3\u30c8<\/h2>\n\n\n\n<p>\u4eca\u56de\u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u6ce8\u5165\u3092\u884c\u3046\u30e1\u30bd\u30c3\u30c9\u306b\u540d\u524d\u3092\u4ed8\u3051\u3066\u3001\u305d\u308c\u3092\u6307\u5b9a\u3057\u3066DI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u6ce8\u5165\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002<br><br><span class=\"marker2\">\uff20Bean\u306b\u3088\u308a\u8907\u6570\u306e\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u6ce8\u5165\u304c\u884c\u3048\u308b<\/span>\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u306e\u3067\u3001\u304b\u306a\u308a\u4f7f\u3044\u52dd\u624b\u304c\u826f\u304f\u3001XML\u3067\u66f8\u304f\u3088\u308a\u3082\u5206\u304b\u308a\u3084\u3059\u304f\u3001\u5fdc\u7528\u304c\u5229\u304d\u3084\u3059\u3044\u66f8\u304d\u65b9\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3057\u305f\u3002<br><br>\u5b9f\u969b\u306e\u958b\u767a\u73fe\u5834\u3067\u30011\u3064\u306e\u30af\u30e9\u30b9\u3067\u8907\u6570\u306e\u30af\u30e9\u30b9\u3092\u53c2\u7167\u3059\u308b\u3053\u3068\u306f\u826f\u304f\u3042\u308a\u307e\u3059\u3002<br><br>\u305d\u306e\u305f\u3081\u3001\u3053\u306e\u66f8\u304d\u65b9\u306f\u5b9f\u7528\u6027\u304c\u9ad8\u304f\u3001\u958b\u767a\u73fe\u5834\u3067\u3082\u4f7f\u3048\u308b\u306e\u3067\u306f\u306a\u3044\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eca\u56de\u306eDI\u30b3\u30f3\u30c6\u30ca\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u6ce8\u5165\u306e\u66f8\u304d\u65b9\u306e\u30c7\u30e1\u30ea\u30c3\u30c8<\/h2>\n\n\n\n<p>\u4eca\u56de\u306e\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u305f\u66f8\u304d\u65b9\u3067\u3059\u304c\u3001\u3084\u306f\u308a\uff20Autowired\u3092\u66f8\u304f\u30bd\u30fc\u30b9\u3068@Configuration\u3092\u66f8\u304f\u30bd\u30fc\u30b9\u306f\u540c\u3058\u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306b\u5b58\u5728\u3057\u306a\u3044\u3068\u6b63\u3057\u304f\u52d5\u3044\u3066\u304f\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br><br>\u305d\u306e\u305f\u3081\u3001<span class=\"marker2\">\uff20Autowired\u3092\u66f8\u304f\u30af\u30e9\u30b9\u3068@Configuration\u3068\uff20Bean\u3092\u4f7f\u3063\u305fDI\u30b3\u30f3\u30c6\u30ca\u306e\u5bfe\u8c61\u3068\u3059\u308b\u30af\u30e9\u30b9\u306f\u540c\u4e00\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3044\u306a\u3044\u3068\u3044\u3051\u306a\u3044<\/span>\u3068\u3044\u3046\u5236\u7d04\u304c\u3042\u308b\u3088\u3046\u3067\u3059\u3002<br><br>\u3053\u306e\u5236\u7d04\u3092\u8d85\u3048\u3066DI\u30b3\u30f3\u30c6\u30ca\u306b\u3088\u308b\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u6ce8\u5165\u3092\u884c\u3046\u306e\u3067\u3042\u308c\u3070\u3001\u9762\u5012\u3067\u306f\u3042\u308a\u307e\u3059\u304cXML\u3092\u4f7f\u3063\u305f\u65b9\u6cd5\u3092\u4f7f\u3046\u5fc5\u8981\u304c\u3042\u308b\u306e\u304b\u306a\u3068\u601d\u3044\u307e\u3059\u3002<br><br>\u30bd\u30fc\u30b9\u306e\u66f8\u304d\u65b9\u306b\u3088\u3063\u3066\u306f\u3053\u306e\u554f\u984c\u3092\u89e3\u6d88\u3067\u304d\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001\u5c11\u3057\u5de5\u592b\u304c\u5fc5\u8981\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p><span class=\"marker\">\u4eca\u56de\u306e\u8a18\u4e8b\u306f\u3053\u3053\u307e\u3067\u3068\u306a\u308a\u307e\u3059\u3002<br>\u307e\u305f\u6b21\u306e\u8a18\u4e8b\u3067\u304a\u4f1a\u3044\u3057\u307e\u3057\u3087\u3046\u3002<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u56de\u306fJava\u3067SpringBoot\u3092\u4f7f\u3063\u3066DI\u30b3\u30f3\u30c6\u30ca\u3092\u4f7f\u3063\u305f\u30af\u30e9\u30b9\u306e\u6ce8\u5165\u3092\u884c\u3044\u307e\u3059\u3002 \u4eca\u56de\u4f7f\u3046\u306e\u306f\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3068\u3044\u3046\u306e\u3082\u306e\u3067\u3001\u30e1\u30bd\u30c3\u30c9\u3084\u30af\u30e9\u30b9\u306e\u524d\u306b\uff20\u00d7\u00d7\u00d7\u00d7\u306a\u3069\u306e\u8868\u8a18\u3092\u8ffd\u8a18\u3059\u308b\u3082\u306e\u3067\u3059\u3002 \u4eca\u56de\u4f7f\u3046\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u306f<\/p>\n","protected":false},"author":2,"featured_media":160,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jin_ogp_image_url":"","_jin_last_featured_id":0,"footnotes":""},"categories":[9,5],"tags":[15,4,16],"class_list":["post-205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-5","tag-java","tag-4","tag-16"],"_links":{"self":[{"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/posts\/205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=205"}],"version-history":[{"count":2,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/posts\/205\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/posts\/205\/revisions\/211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=\/wp\/v2\/media\/160"}],"wp:attachment":[{"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/se-pg-toolbox.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}