{"id":80149,"date":"2026-03-04T14:12:49","date_gmt":"2026-03-04T06:12:49","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/80149.html"},"modified":"2026-03-04T14:12:49","modified_gmt":"2026-03-04T06:12:49","slug":"%e6%a1%86%e6%9e%b6-05springboot","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/80149.html","title":{"rendered":"\u6846\u67b6-05SpringBoot"},"content":{"rendered":"<\/p>\n<h4>\u6587\u7ae0\u76ee\u5f55<\/h4>\n<ul>\n<li>SpringBoot<\/li>\n<li>\n<ul>\n<li>1. SpringBoot\u7b80\u4ecb<\/li>\n<li>\n<ul>\n<li>1.1 SpringBoot\u5feb\u901f\u5165\u95e8<\/li>\n<li>\n<ul>\n<li>1.1.1 \u5f00\u53d1\u6b65\u9aa4<\/li>\n<li>\n<ul>\n<li>1.1.1.1 \u521b\u5efa\u65b0\u6a21\u5757<\/li>\n<li>1.1.1.2 \u521b\u5efa &#096;Controller&#096;<\/li>\n<li>1.1.1.3 \u542f\u52a8\u670d\u52a1\u5668<\/li>\n<li>1.1.1.4 \u8fdb\u884c\u6d4b\u8bd5<\/li>\n<\/ul>\n<\/li>\n<li>1.1.2 \u5bf9\u6bd4<\/li>\n<li>1.1.3 \u5b98\u7f51\u6784\u5efa\u5de5\u7a0b<\/li>\n<li>\n<ul>\n<li>1.1.3.1 \u8fdb\u5165SpringBoot\u5b98\u7f51<\/li>\n<li>1.1.3.2 \u9009\u62e9\u4f9d\u8d56<\/li>\n<li>1.1.3.3 \u751f\u6210\u5de5\u7a0b<\/li>\n<\/ul>\n<\/li>\n<li>1.1.4 SpringBoot\u5de5\u7a0b\u5feb\u901f\u542f\u52a8<\/li>\n<li>\n<ul>\n<li>1.1.4.1 \u95ee\u9898\u5bfc\u5165<\/li>\n<li>1.1.4.2 \u6253\u5305<\/li>\n<li>1.1.4.3 \u542f\u52a8<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>1.2 SpringBoot\u6982\u8ff0<\/li>\n<li>\n<ul>\n<li>1.2.1 \u8d77\u6b65\u4f9d\u8d56<\/li>\n<li>\n<ul>\n<li>1.2.1.1 \u63a2\u7d22\u7236\u5de5\u7a0b<\/li>\n<li>1.2.1.2 \u63a2\u7d22\u4f9d\u8d56<\/li>\n<li>1.2.1.3 \u5c0f\u7ed3<\/li>\n<\/ul>\n<\/li>\n<li>1.2.2 \u7a0b\u5e8f\u542f\u52a8<\/li>\n<li>1.2.3 \u5207\u6362web\u670d\u52a1\u5668<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>2. \u914d\u7f6e\u6587\u4ef6&#xff08;\u4e3b\u8981\u5b66\u4e60yml\u683c\u5f0f&#xff09;<\/li>\n<li>\n<ul>\n<li>2.1 \u914d\u7f6e\u6587\u4ef6\u683c\u5f0f<\/li>\n<li>\n<ul>\n<li>2.1.1 \u73af\u5883\u51c6\u5907<\/li>\n<li>2.1.2 \u4e0d\u540c\u914d\u7f6e\u6587\u4ef6\u6f14\u793a<\/li>\n<li>2.1.3 \u4e09\u79cd\u914d\u5408\u6587\u4ef6\u7684\u4f18\u5148\u7ea7<\/li>\n<\/ul>\n<\/li>\n<li>2.2 yaml\u683c\u5f0f<\/li>\n<li>\n<ul>\n<li>2.2.1 \u8bed\u6cd5\u89c4\u5219<\/li>\n<\/ul>\n<\/li>\n<li>2.3 yaml\u914d\u7f6e\u6587\u4ef6\u6570\u636e\u8bfb\u53d6<\/li>\n<li>\n<ul>\n<li>2.3.1 \u73af\u5883\u51c6\u5907<\/li>\n<li>2.3.2 \u8bfb\u53d6\u914d\u7f6e\u6570\u636e<\/li>\n<li>\n<ul>\n<li>2.3.2.1 \u4f7f\u7528 &#064;Value\u6ce8\u89e3<\/li>\n<li>2.3.2.2 Environment\u5bf9\u8c61<\/li>\n<li>2.3.2.3 \u81ea\u5b9a\u4e49\u5bf9\u8c61<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>2.4 \u591a\u73af\u5883\u914d\u7f6e&#xff08;\u73b0\u9636\u6bb5\u4e86\u89e3&#xff09;<\/li>\n<li>\n<ul>\n<li>2.4.1 yaml\u6587\u4ef6<\/li>\n<li>2.4.2 properties\u6587\u4ef6<\/li>\n<li>2.4.3 \u547d\u4ee4\u884c\u542f\u52a8\u53c2\u6570\u8bbe\u7f6e<\/li>\n<\/ul>\n<\/li>\n<li>2.5 \u914d\u7f6e\u6587\u4ef6\u5206\u7c7b&#xff08;\u73b0\u9636\u6bb5\u4e86\u89e3&#xff09;<\/li>\n<li>\n<ul>\n<li>2.5.1 \u4ee3\u7801\u6f14\u793a<\/li>\n<li>\n<ul>\n<li>2.5.1.1 \u73af\u5883\u51c6\u5907<\/li>\n<li>2.5.1.2 \u9a8c\u8bc11\u7ea7\u548c2\u7ea7\u7684\u4f18\u5148\u7ea7<\/li>\n<li>2.5.1.3 \u9a8c\u8bc12\u7ea7\u548c4\u7ea7\u7684\u4f18\u5148\u7ea7<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>3. SpringBoot\u6574\u5408junit&#xff08;\u901a\u8fc7\u5b98\u65b9Starter \u4f9d\u8d56\u4f1a\u81ea\u52a8\u5f15\u5165 JUnit \u76f8\u5173\u5305&#xff0c;\u5b9e\u73b0\u5f00\u7bb1\u5373\u7528\u7684\u6d4b\u8bd5\u80fd\u529b&#xff09;<\/li>\n<li>\n<ul>\n<li>3.1 \u73af\u5883\u51c6\u5907<\/li>\n<li>3.2 \u7f16\u5199\u6d4b\u8bd5\u7c7b<\/li>\n<\/ul>\n<\/li>\n<li>4. SpringBoot\u6574\u5408mybatis&#xff08;\u5f88\u7b80\u6d01&#xff09;<\/li>\n<li>\n<ul>\n<li>4.1 \u56de\u987eSpring\u6574\u5408Mybatis<\/li>\n<li>4.2 SpringBoot\u6574\u5408mybatis<\/li>\n<li>\n<ul>\n<li>4.2.1 \u521b\u5efa\u6a21\u5757<\/li>\n<li>4.2.2 \u5b9a\u4e49\u5b9e\u4f53\u7c7b<\/li>\n<li>4.2.3 \u5b9a\u4e49dao\u63a5\u53e3<\/li>\n<li>4.2.4 \u5b9a\u4e49\u6d4b\u8bd5\u7c7b<\/li>\n<li>4.2.5 \u7f16\u5199\u914d\u7f6e<\/li>\n<li>4.2.6 \u6d4b\u8bd5<\/li>\n<li>4.2.7 \u4f7f\u7528Druid\u6570\u636e\u6e90<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>5. \u6848\u4f8b<\/li>\n<li>\n<ul>\n<li>5.1 \u521b\u5efa\u5de5\u7a0b<\/li>\n<li>5.2 \u4ee3\u7801\u62f7\u8d1d<\/li>\n<li>5.3 \u914d\u7f6e\u6587\u4ef6<\/li>\n<li>5.4 \u9759\u6001\u8d44\u6e90<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>SpringBoot<\/h2>\n<p>\u4eca\u65e5\u76ee\u6807&#xff1a;&#xff08;4\u5c0f\u65f6\u5b66\u4e60\u5b8c&#xff09;<\/p>\n<ul>\n<li>\u638c\u63e1\u57fa\u4e8eSpringBoot\u6846\u67b6\u7684\u7a0b\u5e8f\u5f00\u53d1\u6b65\u9aa4<\/li>\n<li>\u719f\u7ec3\u4f7f\u7528SpringBoot\u914d\u7f6e\u4fe1\u606f\u4fee\u6539\u670d\u52a1\u5668\u914d\u7f6e<\/li>\n<li>\u57fa\u4e8eSpringBoot\u7684\u5b8c\u6210SSM\u6574\u5408\u9879\u76ee\u5f00\u53d1<\/li>\n<\/ul>\n<h3>1. SpringBoot\u7b80\u4ecb<\/h3>\n<p>SpringBoot \u662f\u7531 Pivotal \u56e2\u961f\u63d0\u4f9b\u7684\u5168\u65b0\u6846\u67b6&#xff0c;\u5176\u8bbe\u8ba1\u76ee\u7684\u662f\u7528\u6765\u7b80\u5316 Spring \u5e94\u7528\u7684\u521d\u59cb\u642d\u5efa\u4ee5\u53ca\u5f00\u53d1\u8fc7\u7a0b\u3002<\/p>\n<p>\u4f7f\u7528\u4e86 Spring \u6846\u67b6\u540e\u5df2\u7ecf\u7b80\u5316\u4e86\u6211\u4eec\u7684\u5f00\u53d1\u3002\u800c SpringBoot \u53c8\u662f\u5bf9 Spring \u5f00\u53d1\u8fdb\u884c\u7b80\u5316\u7684&#xff0c;\u53ef\u60f3\u800c\u77e5 SpringBoot \u4f7f\u7528\u7684\u7b80\u5355\u53ca\u5e7f\u6cdb\u6027\u3002\u65e2\u7136 SpringBoot \u662f\u7528\u6765\u7b80\u5316 Spring \u5f00\u53d1\u7684&#xff0c;\u90a3\u6211\u4eec\u5c31\u5148\u56de\u987e\u4e00\u4e0b&#xff0c;\u4ee5 SpringMVC \u5f00\u53d1\u4e3a\u4f8b&#xff1a;<\/p>\n<li>\u521b\u5efa\u5de5\u7a0b&#xff0c;\u5e76\u5728 pom.xml \u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e\u6240\u4f9d\u8d56\u7684\u5750\u6807<\/li>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061243-69a7cd5bcb238.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<li>\n<p>\u7f16\u5199 web3.0 \u7684\u914d\u7f6e\u7c7b<\/p>\n<p>\u4f5c\u4e3a web \u7a0b\u5e8f&#xff0c;web3.0 \u7684\u914d\u7f6e\u7c7b\u4e0d\u80fd\u7f3a\u5c11&#xff0c;\u800c\u8fd9\u4e2a\u914d\u7f6e\u7c7b\u8fd8\u662f\u6bd4\u8f83\u9ebb\u70e6\u7684&#xff0c;\u4ee3\u7801\u5982\u4e0b<\/p>\n<\/li>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061243-69a7cd5be6901.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<li>\u7f16\u5199 SpringMVC \u7684\u914d\u7f6e\u7c7b<\/li>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061244-69a7cd5c283b5.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u200b \u505a\u5230\u8fd9\u53ea\u662f\u5c06\u5de5\u7a0b\u7684\u67b6\u5b50\u642d\u8d77\u6765\u3002\u8981\u60f3\u88ab\u5916\u754c\u8bbf\u95ee&#xff0c;\u6700\u8d77\u7801\u8fd8\u9700\u8981\u63d0\u4f9b\u4e00\u4e2a Controller \u7c7b&#xff0c;\u5728\u8be5\u7c7b\u4e2d\u63d0\u4f9b\u4e00\u4e2a\u65b9\u6cd5\u3002<\/p>\n<li>\u7f16\u5199 Controller \u7c7b<\/li>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061244-69a7cd5c37596.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u4ece\u4e0a\u9762\u7684 SpringMVC \u7a0b\u5e8f\u5f00\u53d1\u53ef\u4ee5\u770b\u5230&#xff0c;\u524d\u4e09\u6b65\u90fd\u662f\u5728\u642d\u5efa\u73af\u5883&#xff0c;\u800c\u4e14\u8fd9\u4e09\u6b65\u57fa\u672c\u90fd\u662f\u56fa\u5b9a\u7684\u3002SpringBoot \u5c31\u662f\u5bf9\u8fd9\u4e09\u6b65\u8fdb\u884c\u7b80\u5316\u4e86\u3002\u63a5\u4e0b\u6765\u6211\u4eec\u901a\u8fc7\u4e00\u4e2a\u5165\u95e8\u6848\u4f8b\u6765\u4f53\u73b0 SpingBoot \u7b80\u5316 Spring \u5f00\u53d1\u3002<\/p>\n<h4>1.1 SpringBoot\u5feb\u901f\u5165\u95e8<\/h4>\n<h5>1.1.1 \u5f00\u53d1\u6b65\u9aa4<\/h5>\n<p>SpringBoot \u5f00\u53d1\u8d77\u6765\u7279\u522b\u7b80\u5355&#xff0c;\u5206\u4e3a\u5982\u4e0b\u51e0\u6b65&#xff1a;<\/p>\n<ul>\n<li>\u521b\u5efa\u65b0\u6a21\u5757&#xff0c;\u9009\u62e9Spring\u521d\u59cb\u5316&#xff0c;\u5e76\u914d\u7f6e\u6a21\u5757\u76f8\u5173\u57fa\u7840\u4fe1\u606f<\/li>\n<li>\u9009\u62e9\u5f53\u524d\u6a21\u5757\u9700\u8981\u4f7f\u7528\u7684\u6280\u672f\u96c6<\/li>\n<li>\u5f00\u53d1\u63a7\u5236\u5668\u7c7b<\/li>\n<li>\u8fd0\u884c\u81ea\u52a8\u751f\u6210\u7684Application\u7c7b<\/li>\n<\/ul>\n<p>\u77e5\u9053\u4e86 SpringBoot \u7684\u5f00\u53d1\u6b65\u9aa4\u540e&#xff0c;\u63a5\u4e0b\u6765\u6211\u4eec\u8fdb\u884c\u5177\u4f53\u7684\u64cd\u4f5c<\/p>\n<h6>1.1.1.1 \u521b\u5efa\u65b0\u6a21\u5757<\/h6>\n<ul>\n<li>\u70b9\u51fb &#043; \u9009\u62e9 New Module \u521b\u5efa\u65b0\u6a21\u5757<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061244-69a7cd5c596d7.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\n<p>\u9009\u62e9 Spring Initializr &#xff0c;\u7528\u6765\u521b\u5efa SpringBoot \u5de5\u7a0b<\/p>\n<p>\u4ee5\u524d\u6211\u4eec\u9009\u62e9\u7684\u662f Maven &#xff0c;\u4eca\u5929\u9009\u62e9 Spring Initializr \u6765\u5feb\u901f\u6784\u5efa SpringBoot \u5de5\u7a0b\u3002\u800c\u5728 Module SDK \u8fd9\u4e00\u9879\u9009\u62e9\u6211\u4eec\u5b89\u88c5\u7684 JDK \u7248\u672c\u3002<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061244-69a7cd5c951f9.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\n<p>\u5bf9 SpringBoot \u5de5\u7a0b\u8fdb\u884c\u76f8\u5173\u7684\u8bbe\u7f6e<\/p>\n<p>\u6211\u4eec\u4f7f\u7528\u8fd9\u79cd\u65b9\u5f0f\u6784\u5efa\u7684 SpringBoot \u5de5\u7a0b\u5176\u5b9e\u4e5f\u662f Maven \u5de5\u7a0b&#xff0c;\u800c\u8be5\u65b9\u5f0f\u53ea\u662f\u4e00\u79cd\u5feb\u901f\u6784\u5efa\u7684\u65b9\u5f0f\u800c\u5df2\u3002<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061244-69a7cd5cc18b8.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u6ce8\u610f&#xff1a;\u6253\u5305\u65b9\u5f0f\u8fd9\u91cc\u9700\u8981\u8bbe\u7f6e\u4e3a Jar<\/p>\n<ul>\n<li>\n<p>\u9009\u4e2d Web&#xff0c;\u7136\u540e\u52fe\u9009 Spring Web<\/p>\n<p>\u7531\u4e8e\u6211\u4eec\u9700\u8981\u5f00\u53d1\u4e00\u4e2a web \u7a0b\u5e8f&#xff0c;\u4f7f\u7528\u5230\u4e86 SpringMVC \u6280\u672f&#xff0c;\u6240\u4ee5\u6309\u7167\u4e0b\u56fe\u7ea2\u6846\u8fdb\u884c\u52fe\u9009<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061245-69a7cd5d184cd.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u4e0b\u56fe\u754c\u9762\u4e0d\u9700\u8981\u4efb\u4f55\u4fee\u6539&#xff0c;\u76f4\u63a5\u70b9\u51fb Finish \u5b8c\u6210 SpringBoot \u5de5\u7a0b\u7684\u6784\u5efa<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061245-69a7cd5dd84aa.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u7ecf\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\u540e\u5c31\u521b\u5efa\u4e86\u5982\u4e0b\u7ed3\u6784\u7684\u6a21\u5757&#xff0c;\u5b83\u4f1a\u5e2e\u6211\u4eec\u81ea\u52a8\u751f\u6210\u4e00\u4e2a Application \u7c7b&#xff0c;\u800c\u8be5\u7c7b\u4e00\u4f1a\u518d\u542f\u52a8\u670d\u52a1\u5668\u65f6\u4f1a\u7528\u5230<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061246-69a7cd5e14f1e.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<li>\n<p>\u5728\u521b\u5efa\u597d\u7684\u5de5\u7a0b\u4e2d\u4e0d\u9700\u8981\u521b\u5efa\u914d\u7f6e\u7c7b<\/p>\n<\/li>\n<li>\n<p>\u521b\u5efa\u597d\u7684\u9879\u76ee\u4f1a\u81ea\u52a8\u751f\u6210\u5176\u4ed6\u7684\u4e00\u4e9b\u6587\u4ef6&#xff0c;\u800c\u8fd9\u4e9b\u6587\u4ef6\u76ee\u524d\u5bf9\u6211\u4eec\u6765\u8bf4\u6ca1\u6709\u4efb\u4f55\u4f5c\u7528&#xff0c;\u6240\u4ee5\u53ef\u4ee5\u5c06\u8fd9\u4e9b\u6587\u4ef6\u5220\u9664\u3002<\/p>\n<p>\u53ef\u4ee5\u5220\u9664\u7684\u76ee\u5f55\u548c\u6587\u4ef6\u5982\u4e0b&#xff1a;<\/p>\n<ul>\n<li>.mvn<\/li>\n<li>.gitignore<\/li>\n<li>HELP.md<\/li>\n<li>mvnw<\/li>\n<li>mvnw.cmd<\/li>\n<\/ul>\n<\/li>\n<h6>1.1.1.2 \u521b\u5efa Controller<\/h6>\n<p>\u5728 com.itheima.controller \u5305\u4e0b\u521b\u5efa BookController &#xff0c;\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RestController<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;RequestMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/books&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookController<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;GetMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token annotation punctuation\">&#064;PathVariable<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;id &#061;&#061;&gt; &#034;<\/span><span class=\"token operator\">&#043;<\/span>id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;hello , spring boot!&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h6>1.1.1.3 \u542f\u52a8\u670d\u52a1\u5668<\/h6>\n<p>\u8fd0\u884c SpringBoot \u5de5\u7a0b\u4e0d\u9700\u8981\u4f7f\u7528\u672c\u5730\u7684 Tomcat \u548c \u63d2\u4ef6&#xff0c;\u53ea\u8fd0\u884c\u9879\u76ee com.itheima \u5305\u4e0b\u7684 Application \u7c7b&#xff0c;\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u63a7\u5236\u53f0\u770b\u51fa\u5982\u4e0b\u4fe1\u606f<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061246-69a7cd5e23626.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h6>1.1.1.4 \u8fdb\u884c\u6d4b\u8bd5<\/h6>\n<p>\u4f7f\u7528 Postman \u5de5\u5177\u6765\u6d4b\u8bd5\u6211\u4eec\u7684\u7a0b\u5e8f<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061246-69a7cd5e6f350.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u901a\u8fc7\u4e0a\u9762\u7684\u5165\u95e8\u6848\u4f8b\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u4f7f\u7528 SpringBoot \u8fdb\u884c\u5f00\u53d1&#xff0c;\u4f7f\u6574\u4e2a\u5f00\u53d1\u53d8\u5f97\u5f88\u7b80\u5355&#xff0c;\u90a3\u5b83\u662f\u5982\u4f55\u505a\u5230\u7684\u5462&#xff1f;<\/p>\n<p>\u8981\u7814\u7a76\u8fd9\u4e2a\u95ee\u9898&#xff0c;\u6211\u4eec\u9700\u8981\u770b\u770b Application \u7c7b\u548c pom.xml \u90fd\u4e66\u5199\u4e86\u4ec0\u4e48\u3002\u5148\u770b\u770b Applicaion \u7c7b&#xff0c;\u8be5\u7c7b\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token annotation punctuation\">&#064;SpringBootApplication<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Application<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> args<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">SpringApplication<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">run<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">Application<\/span><span class=\"token punctuation\">.<\/span><span class=\"token keyword\">class<\/span><span class=\"token punctuation\">,<\/span> args<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u8fd9\u4e2a\u7c7b\u4e2d\u7684\u4e1c\u897f\u5f88\u7b80\u5355&#xff0c;\u5c31\u5728\u7c7b\u4e0a\u6dfb\u52a0\u4e86\u4e00\u4e2a &#064;SpringBootApplication \u6ce8\u89e3&#xff0c;\u800c\u5728\u4e3b\u65b9\u6cd5\u4e2d\u5c31\u4e00\u884c\u4ee3\u7801\u3002\u6211\u4eec\u5728\u542f\u52a8\u670d\u52a1\u5668\u65f6\u5c31\u662f\u6267\u884c\u7684\u8be5\u7c7b\u4e2d\u7684\u4e3b\u65b9\u6cd5\u3002<\/p>\n<p>\u518d\u770b\u770b pom.xml \u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9<\/p>\n<p><span class=\"token prolog\">&lt;?xml version&#061;&#034;1.0&#034; encoding&#061;&#034;UTF-8&#034;?&gt;<\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>project<\/span> <span class=\"token attr-name\">xmlns<\/span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">&#061;<\/span><span class=\"token punctuation\">&#034;<\/span>http:\/\/maven.apache.org\/POM\/4.0.0<span class=\"token punctuation\">&#034;<\/span><\/span> <span class=\"token attr-name\"><span class=\"token namespace\">xmlns:<\/span>xsi<\/span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">&#061;<\/span><span class=\"token punctuation\">&#034;<\/span>http:\/\/www.w3.org\/2001\/XMLSchema-instance<span class=\"token punctuation\">&#034;<\/span><\/span><br \/>\n         <span class=\"token attr-name\"><span class=\"token namespace\">xsi:<\/span>schemaLocation<\/span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">&#061;<\/span><span class=\"token punctuation\">&#034;<\/span>http:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd<span class=\"token punctuation\">&#034;<\/span><\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>modelVersion<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>4.0.0<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>modelVersion<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>    <span class=\"token comment\">&lt;!&#8211;\u6307\u5b9a\u4e86\u4e00\u4e2a\u7236\u5de5\u7a0b&#xff0c;\u7236\u5de5\u7a0b\u4e2d\u7684\u4e1c\u897f\u5728\u8be5\u5de5\u7a0b\u4e2d\u53ef\u4ee5\u7ee7\u627f\u8fc7\u6765\u4f7f\u7528&#8211;&gt;<\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>parent<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-starter-parent<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>2.5.0<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>parent<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>com.itheima<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>springboot_01_quickstart<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>0.0.1-SNAPSHOT<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>    <span class=\"token comment\">&lt;!&#8211;JDK \u7684\u7248\u672c&#8211;&gt;<\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>properties<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>java.version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>8<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>java.version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>properties<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependencies<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token comment\">&lt;!&#8211;\u8be5\u4f9d\u8d56\u5c31\u662f\u6211\u4eec\u5728\u521b\u5efa SpringBoot \u5de5\u7a0b\u52fe\u9009\u7684\u90a3\u4e2a Spring Web \u4ea7\u751f\u7684&#8211;&gt;<\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-starter-web<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token comment\">&lt;!&#8211;\u8fd9\u4e2a\u662f\u5355\u5143\u6d4b\u8bd5\u7684\u4f9d\u8d56&#xff0c;\u6211\u4eec\u73b0\u5728\u6ca1\u6709\u8fdb\u884c\u5355\u5143\u6d4b\u8bd5&#xff0c;\u6240\u4ee5\u8fd9\u4e2a\u4f9d\u8d56\u73b0\u5728\u53ef\u4ee5\u6ca1\u6709&#8211;&gt;<\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-starter-test<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>scope<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>test<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>scope<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependencies<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>build<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>plugins<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token comment\">&lt;!&#8211;\u8fd9\u4e2a\u63d2\u4ef6\u662f\u5728\u6253\u5305\u65f6\u9700\u8981\u7684&#xff0c;\u800c\u8fd9\u91cc\u6682\u65f6\u8fd8\u6ca1\u6709\u7528\u5230&#8211;&gt;<\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>plugin<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n                <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n                <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-maven-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>plugin<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>plugins<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>build<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>project<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>\u6211\u4eec\u4ee3\u7801\u4e4b\u6240\u4ee5\u80fd\u7b80\u5316&#xff0c;\u5c31\u662f\u56e0\u4e3a\u6307\u5b9a\u7684\u7236\u5de5\u7a0b\u548c Spring Web \u4f9d\u8d56\u5b9e\u73b0\u7684\u3002\u5177\u4f53\u7684\u6211\u4eec\u540e\u9762\u5728\u804a\u3002<\/p>\n<h5>1.1.2 \u5bf9\u6bd4<\/h5>\n<p>\u505a\u5b8c SpringBoot \u7684\u5165\u95e8\u6848\u4f8b\u540e&#xff0c;\u63a5\u4e0b\u6765\u5bf9\u6bd4\u4e00\u4e0b Spring \u7a0b\u5e8f\u548c SpringBoot \u7a0b\u5e8f\u3002\u5982\u4e0b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061247-69a7cd5f09163.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\n<p>\u5750\u6807<\/p>\n<p>Spring \u7a0b\u5e8f\u4e2d\u7684\u5750\u6807\u9700\u8981\u81ea\u5df1\u7f16\u5199&#xff0c;\u800c\u4e14\u5750\u6807\u975e\u5e38\u591a<\/p>\n<p>SpringBoot \u7a0b\u5e8f\u4e2d\u7684\u5750\u6807\u662f\u6211\u4eec\u5728\u521b\u5efa\u5de5\u7a0b\u65f6\u8fdb\u884c\u52fe\u9009\u81ea\u52a8\u751f\u6210\u7684<\/p>\n<\/li>\n<li>\n<p>web3.0\u914d\u7f6e\u7c7b<\/p>\n<p>Spring \u7a0b\u5e8f\u9700\u8981\u81ea\u5df1\u7f16\u5199\u8fd9\u4e2a\u914d\u7f6e\u7c7b\u3002\u8fd9\u4e2a\u914d\u7f6e\u7c7b\u5927\u5bb6\u4e4b\u524d\u7f16\u5199\u8fc7&#xff0c;\u80af\u5b9a\u611f\u89c9\u5f88\u590d\u6742<\/p>\n<p>SpringBoot \u7a0b\u5e8f\u4e0d\u9700\u8981\u6211\u4eec\u81ea\u5df1\u4e66\u5199<\/p>\n<\/li>\n<li>\n<p>\u914d\u7f6e\u7c7b<\/p>\n<p>Spring\/SpringMVC \u7a0b\u5e8f\u7684\u914d\u7f6e\u7c7b\u9700\u8981\u81ea\u5df1\u4e66\u5199\u3002\u800c SpringBoot \u7a0b\u5e8f\u5219\u4e0d\u9700\u8981\u4e66\u5199\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u6ce8\u610f&#xff1a;\u57fa\u4e8eIdea\u7684 Spring Initializr \u5feb\u901f\u6784\u5efa SpringBoot \u5de5\u7a0b\u65f6\u9700\u8981\u8054\u7f51\u3002<\/p>\n<h5>1.1.3 \u5b98\u7f51\u6784\u5efa\u5de5\u7a0b<\/h5>\n<p>\u5728\u5165\u95e8\u6848\u4f8b\u4e2d\u4e4b\u6240\u4ee5\u80fd\u5feb\u901f\u6784\u5efa SpringBoot \u5de5\u7a0b&#xff0c;\u662f\u56e0\u4e3a Idea \u4f7f\u7528\u4e86\u5b98\u7f51\u63d0\u4f9b\u4e86\u5feb\u901f\u6784\u5efa SpringBoot \u5de5\u7a0b\u7684\u7ec4\u4ef6\u5b9e\u73b0\u7684\u3002\u90a3\u5982\u4f55\u5728\u5b98\u7f51\u8fdb\u884c\u5de5\u7a0b\u6784\u5efa\u5462&#xff1f;\u901a\u8fc7\u5982\u4e0b\u6b65\u9aa4\u6784\u5efa<\/p>\n<h6>1.1.3.1 \u8fdb\u5165SpringBoot\u5b98\u7f51<\/h6>\n<p>\u5b98\u7f51\u5730\u5740\u5982\u4e0b&#xff1a;<\/p>\n<p>https:\/\/spring.io\/projects\/spring-boot<\/p>\n<p>\u8fdb\u5165\u5230 SpringBoot \u5b98\u7f51\u540e\u62d6\u5230\u6700\u4e0b\u65b9\u5c31\u53ef\u4ee5\u770b\u5230\u5982\u4e0b\u5185\u5bb9<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061247-69a7cd5f30984.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u7136\u540e\u70b9\u51fb Spring Initializr \u8d85\u94fe\u63a5\u5c31\u4f1a\u8df3\u8f6c\u5230\u5982\u4e0b\u9875\u9762<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061247-69a7cd5f402c8.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u8fd9\u4e2a\u9875\u9762\u5185\u5bb9\u662f\u4e0d\u662f\u611f\u89c9\u5f88\u773c\u719f\u7684&#xff0c;\u8fd9\u548c\u6211\u4eec\u4f7f\u7528 Idea \u5feb\u901f\u6784\u5efa SpringBoot \u5de5\u7a0b\u7684\u754c\u9762\u57fa\u672c\u76f8\u540c\u3002\u5728\u4e0a\u9762\u9875\u9762\u8f93\u5165\u5bf9\u5e94\u7684\u4fe1\u606f<\/p>\n<h6>1.1.3.2 \u9009\u62e9\u4f9d\u8d56<\/h6>\n<p>\u9009\u62e9 Spring Web \u53ef\u4ee5\u70b9\u51fb\u4e0a\u56fe\u53f3\u4e0a\u89d2\u7684 ADD DEPENDENCIES&#8230; CTRL &#043; B \u6309\u94ae&#xff0c;\u5c31\u4f1a\u51fa\u73b0\u5982\u4e0b\u754c\u9762<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061247-69a7cd5fbfd62.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h6>1.1.3.3 \u751f\u6210\u5de5\u7a0b<\/h6>\n<p>\u4ee5\u4e0a\u6b65\u9aa4\u5b8c\u6210\u540e\u5c31\u53ef\u4ee5\u751f\u6210 SpringBoot \u5de5\u7a0b\u4e86\u3002\u5728\u9875\u9762\u7684\u6700\u4e0b\u65b9\u70b9\u51fb GENERATE CTRL &#043; \u56de\u8f66 \u6309\u94ae\u751f\u6210\u5de5\u7a0b\u5e76\u4e0b\u8f7d\u5230\u672c\u5730&#xff0c;\u5982\u4e0b\u56fe\u6240\u793a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061248-69a7cd600d40a.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u6253\u5f00\u4e0b\u8f7d\u597d\u7684\u538b\u7f29\u5305\u53ef\u4ee5\u770b\u5230\u5de5\u7a0b\u7ed3\u6784\u548c\u4f7f\u7528 Idea \u751f\u6210\u7684\u4e00\u6a21\u4e00\u6837&#xff0c;\u5982\u4e0b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061248-69a7cd60270f2.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u800c\u6253\u5f00 pom.xml \u6587\u4ef6&#xff0c;\u91cc\u9762\u4e5f\u5305\u542b\u4e86\u7236\u5de5\u7a0b\u548c Spring Web \u7684\u4f9d\u8d56\u3002<\/p>\n<p>\u901a\u8fc7\u4e0a\u9762\u5b98\u7f51\u7684\u64cd\u4f5c&#xff0c;\u6211\u4eec\u77e5\u9053 Idea \u4e2d\u5feb\u901f\u6784\u5efa SpringBoot \u5de5\u7a0b\u5176\u5b9e\u5c31\u662f\u4f7f\u7528\u7684\u5b98\u7f51\u7684\u5feb\u901f\u6784\u5efa\u7ec4\u4ef6&#xff0c;\u90a3\u4ee5\u540e\u5373\u4f7f\u6ca1\u6709 Idea \u4e5f\u53ef\u4ee5\u4f7f\u7528\u5b98\u7f51\u7684\u65b9\u5f0f\u6784\u5efa SpringBoot \u5de5\u7a0b\u3002<\/p>\n<h5>1.1.4 SpringBoot\u5de5\u7a0b\u5feb\u901f\u542f\u52a8<\/h5>\n<h6>1.1.4.1 \u95ee\u9898\u5bfc\u5165<\/h6>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061248-69a7cd604f1ee.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u4ee5\u540e\u6211\u4eec\u548c\u524d\u7aef\u5f00\u53d1\u4eba\u5458\u534f\u540c\u5f00\u53d1&#xff0c;\u800c\u524d\u7aef\u5f00\u53d1\u4eba\u5458\u9700\u8981\u6d4b\u8bd5\u524d\u7aef\u7a0b\u5e8f\u5c31\u9700\u8981\u540e\u7aef\u5f00\u542f\u670d\u52a1\u5668&#xff0c;\u8fd9\u5c31\u53d7\u5236\u4e8e\u540e\u7aef\u5f00\u53d1\u4eba\u5458\u3002\u4e3a\u4e86\u6446\u8131\u8fd9\u4e2a\u53d7\u5236&#xff0c;\u524d\u7aef\u5f00\u53d1\u4eba\u5458\u5c1d\u8bd5\u7740\u5728\u81ea\u5df1\u7535\u8111\u4e0a\u5b89\u88c5 Tomcat \u548c Idea &#xff0c;\u5728\u81ea\u5df1\u7535\u8111\u4e0a\u542f\u52a8\u540e\u7aef\u7a0b\u5e8f&#xff0c;\u8fd9\u663e\u7136\u4e0d\u73b0\u5b9e\u3002<\/p>\n<p>\u6211\u4eec\u540e\u7aef\u53ef\u4ee5\u5c06 SpringBoot \u5de5\u7a0b\u6253\u6210 jar \u5305&#xff0c;\u8be5 jar \u5305\u8fd0\u884c\u4e0d\u4f9d\u8d56\u4e8e Tomcat \u548c Idea \u8fd9\u4e9b\u5de5\u5177\u4e5f\u53ef\u4ee5\u6b63\u5e38\u8fd0\u884c&#xff0c;\u53ea\u662f\u8fd9\u4e2a jar \u5305\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u8fde\u63a5\u548c\u6211\u4eec\u81ea\u5df1\u7a0b\u5e8f\u76f8\u540c\u7684 Mysql \u6570\u636e\u5e93\u5373\u53ef\u3002\u8fd9\u6837\u5c31\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898&#xff0c;\u5982\u4e0b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061248-69a7cd606f59d.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u90a3\u73b0\u5728\u95ee\u9898\u662f\u5982\u4f55\u6253\u5305\u5462&#xff1f;<\/p>\n<h6>1.1.4.2 \u6253\u5305<\/h6>\n<p>\u7531\u4e8e\u6211\u4eec\u5728\u6784\u5efa SpringBoot \u5de5\u7a0b\u65f6\u5df2\u7ecf\u5728 pom.xml \u4e2d\u914d\u7f6e\u4e86\u5982\u4e0b\u63d2\u4ef6<\/p>\n<p><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>plugin<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-maven-plugin<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>plugin<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>\u6240\u4ee5\u6211\u4eec\u53ea\u9700\u8981\u4f7f\u7528 Maven \u7684 package \u6307\u4ee4\u6253\u5305\u5c31\u4f1a\u5728 target \u76ee\u5f55\u4e0b\u751f\u6210\u5bf9\u5e94\u7684 Jar \u5305\u3002<\/p>\n<p>\u6ce8\u610f&#xff1a;\u8be5\u63d2\u4ef6\u5fc5\u987b\u914d\u7f6e&#xff0c;\u4e0d\u7136\u6253\u597d\u7684 jar \u5305\u4e5f\u662f\u6709\u95ee\u9898\u7684\u3002<\/p>\n<h6>1.1.4.3 \u542f\u52a8<\/h6>\n<p>\u8fdb\u5165 jar \u5305\u6240\u5728\u4f4d\u7f6e&#xff0c;\u5728 \u547d\u4ee4\u63d0\u793a\u7b26 \u4e2d\u8f93\u5165\u5982\u4e0b\u547d\u4ee4<\/p>\n<p>jar <span class=\"token parameter variable\">-jar<\/span> springboot_01_quickstart-0.0.1-SNAPSHOT.jar<\/p>\n<p>\u6267\u884c\u4e0a\u8ff0\u547d\u4ee4\u5c31\u53ef\u4ee5\u770b\u5230 SpringBoot \u8fd0\u884c\u7684\u65e5\u5fd7\u4fe1\u606f<\/p>\n<p><img decoding=\"async\" src=\"2026-03-044v5rnajx0ev.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h4>1.2 SpringBoot\u6982\u8ff0<\/h4>\n<p>SpringBoot \u662f\u7531Pivotal\u56e2\u961f\u63d0\u4f9b\u7684\u5168\u65b0\u6846\u67b6&#xff0c;\u5176\u8bbe\u8ba1\u76ee\u7684\u662f\u7528\u6765\u7b80\u5316Spring\u5e94\u7528\u7684\u521d\u59cb\u642d\u5efa\u4ee5\u53ca\u5f00\u53d1\u8fc7\u7a0b\u3002<\/p>\n<p>\u5927\u5bb6\u5df2\u7ecf\u611f\u53d7\u4e86 SpringBoot \u7a0b\u5e8f&#xff0c;\u56de\u8fc7\u5934\u770b\u770b SpringBoot \u4e3b\u8981\u4f5c\u7528\u662f\u4ec0\u4e48&#xff0c;\u5c31\u662f\u7b80\u5316 Spring \u7684\u642d\u5efa\u8fc7\u7a0b\u548c\u5f00\u53d1\u8fc7\u7a0b\u3002<\/p>\n<p>\u539f\u59cb Spring \u73af\u5883\u642d\u5efa\u548c\u5f00\u53d1\u5b58\u5728\u4ee5\u4e0b\u95ee\u9898&#xff1a;<\/p>\n<ul>\n<li>\u914d\u7f6e\u7e41\u7410<\/li>\n<li>\u4f9d\u8d56\u8bbe\u7f6e\u7e41\u7410<\/li>\n<\/ul>\n<p>SpringBoot \u7a0b\u5e8f\u4f18\u70b9\u6070\u5de7\u5c31\u662f\u9488\u5bf9 Spring \u7684\u7f3a\u70b9<\/p>\n<ul>\n<li>\u81ea\u52a8\u914d\u7f6e\u3002\u8fd9\u4e2a\u662f\u7528\u6765\u89e3\u51b3 Spring \u7a0b\u5e8f\u914d\u7f6e\u7e41\u7410\u7684\u95ee\u9898<\/li>\n<li>\u8d77\u6b65\u4f9d\u8d56\u3002\u8fd9\u4e2a\u662f\u7528\u6765\u89e3\u51b3 Spring \u7a0b\u5e8f\u4f9d\u8d56\u8bbe\u7f6e\u7e41\u7410\u7684\u95ee\u9898<\/li>\n<li>\u8f85\u52a9\u529f\u80fd&#xff08;\u5185\u7f6e\u670d\u52a1\u5668,\u2026&#xff09;\u3002\u6211\u4eec\u5728\u542f\u52a8 SpringBoot \u7a0b\u5e8f\u65f6\u65e2\u6ca1\u6709\u4f7f\u7528\u672c\u5730\u7684 tomcat \u4e5f\u6ca1\u6709\u4f7f\u7528 tomcat \u63d2\u4ef6&#xff0c;\u800c\u662f\u4f7f\u7528 SpringBoot \u5185\u7f6e\u7684\u670d\u52a1\u5668\u3002<\/li>\n<\/ul>\n<p>\u63a5\u4e0b\u6765\u6211\u4eec\u6765\u8bf4\u4e00\u4e0b SpringBoot \u7684\u8d77\u6b65\u4f9d\u8d56<\/p>\n<h5>1.2.1 \u8d77\u6b65\u4f9d\u8d56<\/h5>\n<p>\u6211\u4eec\u4f7f\u7528 Spring Initializr \u65b9\u5f0f\u521b\u5efa\u7684 Maven \u5de5\u7a0b\u7684\u7684 pom.xml \u914d\u7f6e\u6587\u4ef6\u4e2d\u81ea\u52a8\u751f\u6210\u4e86\u5f88\u591a\u5305\u542b starter \u7684\u4f9d\u8d56&#xff0c;\u5982\u4e0b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04pctl2evtbym.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u8fd9\u4e9b\u4f9d\u8d56\u5c31\u662f\u542f\u52a8\u4f9d\u8d56&#xff0c;\u63a5\u4e0b\u6765\u6211\u4eec\u63a2\u7a76\u4e00\u4e0b\u4ed6\u662f\u5982\u4f55\u5b9e\u73b0\u7684\u3002<\/p>\n<h6>1.2.1.1 \u63a2\u7d22\u7236\u5de5\u7a0b<\/h6>\n<p>\u4ece\u4e0a\u9762\u7684\u6587\u4ef6\u4e2d\u53ef\u4ee5\u770b\u5230\u6307\u5b9a\u4e86\u4e00\u4e2a\u7236\u5de5\u7a0b&#xff0c;\u6211\u4eec\u8fdb\u5165\u5230\u7236\u5de5\u7a0b&#xff0c;\u53d1\u73b0\u7236\u5de5\u7a0b\u4e2d\u53c8\u6307\u5b9a\u4e86\u4e00\u4e2a\u7236\u5de5\u7a0b&#xff0c;\u5982\u4e0b\u56fe\u6240\u793a<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04dx4syrw1bui.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u518d\u8fdb\u5165\u5230\u8be5\u7236\u5de5\u7a0b\u4e2d&#xff0c;\u5728\u8be5\u5de5\u7a0b\u4e2d\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u914d\u7f6e\u5185\u5bb9\u7ed3\u6784\u5982\u4e0b\u56fe\u6240\u793a<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04d00qryz3rmi.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u4e0a\u56fe\u4e2d\u7684 properties \u6807\u7b7e\u4e2d\u5b9a\u4e49\u4e86\u5404\u4e2a\u6280\u672f\u8f6f\u4ef6\u4f9d\u8d56\u7684\u7248\u672c&#xff0c;\u907f\u514d\u4e86\u6211\u4eec\u5728\u4f7f\u7528\u4e0d\u540c\u8f6f\u4ef6\u6280\u672f\u65f6\u8003\u8651\u7248\u672c\u7684\u517c\u5bb9\u95ee\u9898\u3002\u5728 properties \u4e2d\u6211\u4eec\u627e servlet \u548c mysql \u7684\u7248\u672c\u5982\u4e0b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04bzuuva3thho.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>dependencyManagement \u6807\u7b7e\u662f\u8fdb\u884c\u4f9d\u8d56\u7248\u672c\u9501\u5b9a&#xff0c;\u4f46\u662f\u5e76\u6ca1\u6709\u5bfc\u5165\u5bf9\u5e94\u7684\u4f9d\u8d56&#xff1b;\u5982\u679c\u6211\u4eec\u5de5\u7a0b\u9700\u8981\u90a3\u4e2a\u4f9d\u8d56\u53ea\u9700\u8981\u5f15\u5165\u4f9d\u8d56\u7684 groupid \u548c artifactId \u4e0d\u9700\u8981\u5b9a\u4e49 version\u3002<\/p>\n<p>\u800c build \u6807\u7b7e\u4e2d\u4e5f\u5bf9\u63d2\u4ef6\u7684\u7248\u672c\u8fdb\u884c\u4e86\u9501\u5b9a&#xff0c;\u5982\u4e0b\u56fe<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04yxowmbwa3tu.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u770b\u5b8c\u4e86\u7236\u5de5\u7a0b\u4e2d pom.xml \u7684\u914d\u7f6e\u540e\u4e0d\u96be\u7406\u89e3\u6211\u4eec\u5de5\u7a0b\u7684\u7684\u4f9d\u8d56\u4e3a\u4ec0\u4e48\u90fd\u6ca1\u6709\u914d\u7f6e version\u3002<\/p>\n<h6>1.2.1.2 \u63a2\u7d22\u4f9d\u8d56<\/h6>\n<p>\u5728\u6211\u4eec\u521b\u5efa\u7684\u5de5\u7a0b\u4e2d\u7684 pom.xml \u4e2d\u914d\u7f6e\u4e86\u5982\u4e0b\u4f9d\u8d56<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04g3epox4zl0h.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u8fdb\u5165\u5230\u8be5\u4f9d\u8d56&#xff0c;\u67e5\u770b pom.xml \u7684\u4f9d\u8d56\u4f1a\u53d1\u73b0\u5b83\u5f15\u5165\u4e86\u5982\u4e0b\u7684\u4f9d\u8d56<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04hmz00abr2gr.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u91cc\u9762\u7684\u5f15\u5165\u4e86 spring-web \u548c spring-webmvc \u7684\u4f9d\u8d56&#xff0c;\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u6211\u4eec\u7684\u5de5\u7a0b\u4e2d\u6ca1\u6709\u4f9d\u8d56\u8fd9\u4e24\u4e2a\u5305\u8fd8\u80fd\u6b63\u5e38\u4f7f\u7528 springMVC \u4e2d\u7684\u6ce8\u89e3\u7684\u539f\u56e0\u3002<\/p>\n<p>\u800c\u4f9d\u8d56 spring-boot-starter-tomcat &#xff0c;\u4ece\u540d\u5b57\u57fa\u672c\u80fd\u786e\u8ba4\u5185\u90e8\u4f9d\u8d56\u4e86 tomcat&#xff0c;\u6240\u4ee5\u6211\u4eec\u7684\u5de5\u7a0b\u624d\u80fd\u6b63\u5e38\u542f\u52a8\u3002<\/p>\n<p>\u7ed3\u8bba&#xff1a;\u4ee5\u540e\u9700\u8981\u4f7f\u7528\u6280\u672f&#xff0c;\u53ea\u9700\u8981\u5f15\u5165\u8be5\u6280\u672f\u5bf9\u5e94\u7684\u8d77\u6b65\u4f9d\u8d56\u5373\u53ef<\/p>\n<h6>1.2.1.3 \u5c0f\u7ed3<\/h6>\n<p>starter<\/p>\n<ul>\n<li>SpringBoot \u4e2d\u5e38\u89c1\u9879\u76ee\u540d\u79f0&#xff0c;\u5b9a\u4e49\u4e86\u5f53\u524d\u9879\u76ee\u4f7f\u7528\u7684\u6240\u6709\u9879\u76ee\u5750\u6807&#xff0c;\u4ee5\u8fbe\u5230\u51cf\u5c11\u4f9d\u8d56\u914d\u7f6e\u7684\u76ee\u7684<\/li>\n<\/ul>\n<p>parent<\/p>\n<ul>\n<li>\n<p>\u6240\u6709 SpringBoot \u9879\u76ee\u8981\u7ee7\u627f\u7684\u9879\u76ee&#xff0c;\u5b9a\u4e49\u4e86\u82e5\u5e72\u4e2a\u5750\u6807\u7248\u672c\u53f7&#xff08;\u4f9d\u8d56\u7ba1\u7406&#xff0c;\u800c\u975e\u4f9d\u8d56&#xff09;&#xff0c;\u4ee5\u8fbe\u5230\u51cf\u5c11\u4f9d\u8d56\u51b2\u7a81\u7684\u76ee\u7684<\/p>\n<\/li>\n<li>\n<p>spring-boot-starter-parent&#xff08;2.5.0&#xff09;\u4e0e spring-boot-starter-parent&#xff08;2.4.6&#xff09;\u5171\u8ba157\u5904\u5750\u6807\u7248\u672c\u4e0d\u540c<\/p>\n<\/li>\n<\/ul>\n<p>\u5b9e\u9645\u5f00\u53d1<\/p>\n<ul>\n<li>\n<p>\u4f7f\u7528\u4efb\u610f\u5750\u6807\u65f6&#xff0c;\u4ec5\u4e66\u5199GAV\u4e2d\u7684G\u548cA&#xff0c;V\u7531SpringBoot\u63d0\u4f9b<\/p>\n<p>G&#xff1a;groupid<\/p>\n<p>A&#xff1a;artifactId<\/p>\n<p>V&#xff1a;version<\/p>\n<\/li>\n<li>\n<p>\u5982\u53d1\u751f\u5750\u6807\u9519\u8bef&#xff0c;\u518d\u6307\u5b9aversion&#xff08;\u8981\u5c0f\u5fc3\u7248\u672c\u51b2\u7a81&#xff09;<\/p>\n<\/li>\n<\/ul>\n<h5>1.2.2 \u7a0b\u5e8f\u542f\u52a8<\/h5>\n<p>\u521b\u5efa\u7684\u6bcf\u4e00\u4e2a SpringBoot \u7a0b\u5e8f\u65f6\u90fd\u5305\u542b\u4e00\u4e2a\u7c7b\u4f3c\u4e8e\u4e0b\u9762\u7684\u7c7b&#xff0c;\u6211\u4eec\u5c06\u8fd9\u4e2a\u7c7b\u79f0\u4f5c\u5f15\u5bfc\u7c7b<\/p>\n<p><span class=\"token annotation punctuation\">&#064;SpringBootApplication<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Springboot01QuickstartApplication<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> args<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">SpringApplication<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">run<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">Springboot01QuickstartApplication<\/span><span class=\"token punctuation\">.<\/span><span class=\"token keyword\">class<\/span><span class=\"token punctuation\">,<\/span> args<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<ul>\n<li>\n<p>SpringBoot \u5728\u521b\u5efa\u9879\u76ee\u65f6&#xff0c;\u91c7\u7528jar\u7684\u6253\u5305\u65b9\u5f0f<\/p>\n<\/li>\n<li>\n<p>SpringBoot \u7684\u5f15\u5bfc\u7c7b\u662f\u9879\u76ee\u7684\u5165\u53e3&#xff0c;\u8fd0\u884c main \u65b9\u6cd5\u5c31\u53ef\u4ee5\u542f\u52a8\u9879\u76ee<\/p>\n<p>\u56e0\u4e3a\u6211\u4eec\u5728 pom.xml \u4e2d\u914d\u7f6e\u4e86 spring-boot-starter-web \u4f9d\u8d56&#xff0c;\u800c\u8be5\u4f9d\u8d56\u901a\u8fc7\u524d\u9762\u7684\u5b66\u4e60\u77e5\u9053\u5b83\u4f9d\u8d56 tomcat &#xff0c;\u6240\u4ee5\u8fd0\u884c main \u65b9\u6cd5\u5c31\u53ef\u4ee5\u4f7f\u7528 tomcat \u542f\u52a8\u54b1\u4eec\u7684\u5de5\u7a0b\u3002<\/p>\n<\/li>\n<\/ul>\n<h5>1.2.3 \u5207\u6362web\u670d\u52a1\u5668<\/h5>\n<p>\u73b0\u5728\u6211\u4eec\u542f\u52a8\u5de5\u7a0b\u4f7f\u7528\u7684\u662f tomcat \u670d\u52a1\u5668&#xff0c;\u90a3\u80fd\u4e0d\u80fd\u4e0d\u4f7f\u7528 tomcat \u800c\u4f7f\u7528 jetty \u670d\u52a1\u5668&#xff0c;jetty \u5728\u6211\u4eec maven \u9ad8\u7ea7\u65f6\u8bb2 maven \u79c1\u670d\u4f7f\u7528\u7684\u670d\u52a1\u5668\u3002\u800c\u8981\u5207\u6362 web \u670d\u52a1\u5668\u5c31\u9700\u8981\u5c06\u9ed8\u8ba4\u7684 tomcat \u670d\u52a1\u5668\u7ed9\u6392\u9664\u6389&#xff0c;\u600e\u4e48\u6392\u9664\u5462&#xff1f;\u4f7f\u7528 exclusion \u6807\u7b7e<\/p>\n<p><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-starter-web<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>exclusions<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>exclusion<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-starter-tomcat<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n            <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n        <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>exclusion<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>exclusions<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>\u73b0\u5728\u6211\u4eec\u8fd0\u884c\u5f15\u5bfc\u7c7b\u53ef\u4ee5\u5417&#xff1f;\u8fd0\u884c\u4e00\u4e0b\u8bd5\u8bd5&#xff0c;\u6253\u5370\u7684\u65e5\u5fd7\u4fe1\u606f\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04jilzedeuhrn.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u7a0b\u5e8f\u76f4\u63a5\u505c\u6b62\u4e86&#xff0c;\u4e3a\u4ec0\u4e48\u5462&#xff1f;\u90a3\u662f\u56e0\u4e3a\u6392\u9664\u4e86 tomcat \u670d\u52a1\u5668&#xff0c;\u7a0b\u5e8f\u4e2d\u5c31\u6ca1\u6709\u670d\u52a1\u5668\u4e86\u3002\u6240\u4ee5\u6b64\u65f6\u4e0d\u5149\u8981\u6392\u9664 tomcat \u670d\u52a1\u5668&#xff0c;\u8fd8\u8981\u5f15\u5165 jetty \u670d\u52a1\u5668\u3002\u5728 pom.xml \u4e2d\u56e0\u4e3a jetty \u7684\u8d77\u6b65\u4f9d\u8d56<\/p>\n<p><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-starter-jetty<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>\u63a5\u4e0b\u6765\u518d\u6b21\u8fd0\u884c\u5f15\u5bfc\u7c7b&#xff0c;\u5728\u65e5\u5fd7\u4fe1\u606f\u4e2d\u5c31\u53ef\u4ee5\u770b\u5230\u4f7f\u7528\u7684\u662f jetty \u670d\u52a1\u5668<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04gsjljguzim1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5c0f\u7ed3&#xff1a;<\/p>\n<p>\u901a\u8fc7\u5207\u6362\u670d\u52a1\u5668&#xff0c;\u6211\u4eec\u4e0d\u96be\u53d1\u73b0\u5728\u4f7f\u7528 SpringBoot \u6362\u6280\u672f\u65f6\u53ea\u9700\u8981\u5bfc\u5165\u8be5\u6280\u672f\u7684\u8d77\u6b65\u4f9d\u8d56\u5373\u53ef\u3002<\/p>\n<h3>2. \u914d\u7f6e\u6587\u4ef6&#xff08;\u4e3b\u8981\u5b66\u4e60yml\u683c\u5f0f&#xff09;<\/h3>\n<h4>2.1 \u914d\u7f6e\u6587\u4ef6\u683c\u5f0f<\/h4>\n<p>\u6211\u4eec\u73b0\u5728\u542f\u52a8\u670d\u52a1\u5668\u9ed8\u8ba4\u7684\u7aef\u53e3\u53f7\u662f 8080&#xff0c;\u8bbf\u95ee\u8def\u5f84\u53ef\u4ee5\u4e66\u5199\u4e3a<\/p>\n<p>http:\/\/localhost:8080\/books\/1<\/p>\n<p>\u5728\u7ebf\u4e0a\u73af\u5883\u6211\u4eec\u8fd8\u662f\u5e0c\u671b\u5c06\u7aef\u53e3\u53f7\u6539\u4e3a 80&#xff0c;\u8fd9\u6837\u5728\u8bbf\u95ee\u7684\u65f6\u5019\u5c31\u53ef\u4ee5\u4e0d\u5199\u7aef\u53e3\u53f7\u4e86&#xff0c;\u5982\u4e0b<\/p>\n<p>http:\/\/localhost\/books\/1<\/p>\n<p>\u800c SpringBoot \u7a0b\u5e8f\u5982\u4f55\u4fee\u6539\u5462&#xff1f;SpringBoot \u63d0\u4f9b\u4e86\u591a\u79cd\u5c5e\u6027\u914d\u7f6e\u65b9\u5f0f<\/p>\n<ul>\n<li>\n<p>application.properties<\/p>\n<p> server.port&#061;80\n <\/li>\n<li>\n<p>application.yml<\/p>\n<p> <span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">81<\/span>\n <\/li>\n<li>\n<p>application.yaml<\/p>\n<p> <span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">82<\/span>\n <\/li>\n<\/ul>\n<p>\u6ce8\u610f&#xff1a;SpringBoot \u7a0b\u5e8f\u7684\u914d\u7f6e\u6587\u4ef6\u540d\u5fc5\u987b\u662f application &#xff0c;\u53ea\u662f\u540e\u7f00\u540d\u4e0d\u540c\u800c\u5df2\u3002<\/p>\n<h5>2.1.1 \u73af\u5883\u51c6\u5907<\/h5>\n<p>\u521b\u5efa\u4e00\u4e2a\u65b0\u5de5\u7a0b springboot_02_base_config \u7528\u6765\u6f14\u793a\u4e0d\u540c\u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u5de5\u7a0b\u73af\u5883\u548c\u5165\u95e8\u6848\u4f8b\u4e00\u6a21\u4e00\u6837&#xff0c;\u7ed3\u6784\u5982\u4e0b&#xff1a;<\/p>\n<p><img decoding=\"async\" src=\"2026-03-041gnenbzwfvb.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5728\u8be5\u5de5\u7a0b\u4e2d\u7684 com.itheima.controller \u5305\u4e0b\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a BookController \u7684\u63a7\u5236\u5668\u3002\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RestController<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;RequestMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/books&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookController<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;GetMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token annotation punctuation\">&#064;PathVariable<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;id &#061;&#061;&gt; &#034;<\/span><span class=\"token operator\">&#043;<\/span>id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;hello , spring boot!&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h5>2.1.2 \u4e0d\u540c\u914d\u7f6e\u6587\u4ef6\u6f14\u793a<\/h5>\n<ul>\n<li>application.properties\u914d\u7f6e\u6587\u4ef6<\/li>\n<\/ul>\n<p>\u73b0\u5728\u9700\u8981\u8fdb\u884c\u914d\u7f6e&#xff0c;\u914d\u5408\u6587\u4ef6\u5fc5\u987b\u653e\u5728 resources \u76ee\u5f55\u4e0b&#xff0c;\u800c\u8be5\u76ee\u5f55\u4e0b\u6709\u4e00\u4e2a\u540d\u4e3a application.properties \u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u8be5\u914d\u7f6e\u6587\u4ef6\u4e2d\u4fee\u6539\u7aef\u53e3\u53f7&#xff0c;\u5728\u8be5\u914d\u7f6e\u6587\u4ef6\u4e2d\u4e66\u5199 port &#xff0c;Idea \u5c31\u4f1a\u63d0\u793a&#xff0c;\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04cwwu4d3qtan.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>application.properties \u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p>server.port&#061;80<\/p>\n<p>\u542f\u52a8\u670d\u52a1&#xff0c;\u4f1a\u5728\u63a7\u5236\u53f0\u6253\u5370\u51fa\u65e5\u5fd7\u4fe1\u606f&#xff0c;\u4ece\u65e5\u5fd7\u4fe1\u606f\u4e2d\u53ef\u4ee5\u770b\u5230\u7ed1\u5b9a\u7684\u7aef\u53e3\u53f7\u5df2\u7ecf\u4fee\u6539\u4e86<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04y0gd4vn51vf.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>application.yml\u914d\u7f6e\u6587\u4ef6<\/li>\n<\/ul>\n<p>\u5220\u9664 application.properties \u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u3002\u5728 resources \u4e0b\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a application.yml \u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u5728\u8be5\u6587\u4ef6\u4e2d\u4e66\u5199\u7aef\u53e3\u53f7\u7684\u914d\u7f6e\u9879&#xff0c;\u683c\u5f0f\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">81<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a; \u5728:\u540e&#xff0c;\u6570\u636e\u524d\u4e00\u5b9a\u8981\u52a0\u7a7a\u683c\u3002<\/p>\n<p>\u800c\u5728 yml \u914d\u7f6e\u6587\u4ef6\u4e2d\u4e5f\u662f\u6709\u63d0\u793a\u529f\u80fd\u7684&#xff0c;\u6211\u4eec\u4e5f\u53ef\u4ee5\u5728\u8be5\u6587\u4ef6\u4e2d\u4e66\u5199 port &#xff0c;\u7136\u540e idea \u5c31\u4f1a\u63d0\u793a\u5e76\u4e66\u5199\u6210\u4e0a\u9762\u7684\u683c\u5f0f<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04jvglo0sbjdm.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u542f\u52a8\u670d\u52a1&#xff0c;\u53ef\u4ee5\u5728\u63a7\u5236\u53f0\u770b\u5230\u7ed1\u5b9a\u7684\u7aef\u53e3\u53f7\u662f 81<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04k1x0zc3f1j5.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>application.yaml\u914d\u7f6e\u6587\u4ef6<\/li>\n<\/ul>\n<p>\u5220\u9664 application.yml \u914d\u7f6e\u6587\u4ef6\u548c application.properties \u914d\u7f6e\u6587\u4ef6\u5185\u5bb9&#xff0c;\u7136\u540e\u5728 resources \u4e0b\u521b\u5efa\u540d\u4e3a application.yaml \u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u914d\u7f6e\u5185\u5bb9\u548c\u540e\u7f00\u540d\u4e3a yml \u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u76f8\u540c&#xff0c;\u53ea\u662f\u4f7f\u7528\u4e86\u4e0d\u540c\u7684\u540e\u7f00\u540d\u800c\u5df2<\/p>\n<p>application.yaml \u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">83<\/span><\/p>\n<p>\u542f\u52a8\u670d\u52a1&#xff0c;\u5728\u63a7\u5236\u53f0\u53ef\u4ee5\u770b\u5230\u7ed1\u5b9a\u7684\u7aef\u53e3\u53f7<\/p>\n<p><img decoding=\"async\" src=\"2026-03-040e3dzvh1h4o.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u6ce8\u610f&#xff1a;\u5728\u914d\u5408\u6587\u4ef6\u4e2d\u5982\u679c\u6ca1\u6709\u63d0\u793a&#xff0c;\u53ef\u4ee5\u4f7f\u7528\u4e00\u4e0b\u65b9\u5f0f\u89e3\u51b3<\/p>\n<ul>\n<li>\u70b9\u51fb File \u9009\u4e2d Project Structure<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04c5doa2bn0tw.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u5f39\u51fa\u5982\u4e0b\u7a97\u53e3&#xff0c;\u6309\u56fe\u4e2d\u6807\u8bb0\u7ea2\u6846\u8fdb\u884c\u9009\u62e9<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04af2chofbbcc.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u901a\u8fc7\u4e0a\u8ff0\u64cd\u4f5c&#xff0c;\u4f1a\u5f39\u51fa\u5982\u4e0b\u7a97\u53e3<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04mqwoxg0mn5i.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u70b9\u51fb\u4e0a\u56fe\u7684 &#043; \u53f7&#xff0c;\u5f39\u51fa\u9009\u62e9\u8be5\u6a21\u5757\u7684\u914d\u7f6e\u6587\u4ef6<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04fmuzvswntto.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u901a\u8fc7\u4e0a\u8ff0\u51e0\u6b65\u540e&#xff0c;\u5c31\u53ef\u4ee5\u770b\u5230\u5982\u4e0b\u754c\u9762\u3002properties \u7c7b\u578b\u7684\u914d\u5408\u6587\u4ef6\u6709\u4e00\u4e2a&#xff0c;ymal \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u6709\u4e24\u4e2a<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04ufihp34pdy5.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h5>2.1.3 \u4e09\u79cd\u914d\u5408\u6587\u4ef6\u7684\u4f18\u5148\u7ea7<\/h5>\n<p>\u5728\u4e09\u79cd\u914d\u5408\u6587\u4ef6\u4e2d\u5206\u522b\u914d\u7f6e\u4e0d\u540c\u7684\u7aef\u53e3\u53f7&#xff0c;\u542f\u52a8\u670d\u52a1\u67e5\u770b\u7ed1\u5b9a\u7684\u7aef\u53e3\u53f7\u3002\u7528\u8fd9\u79cd\u65b9\u5f0f\u5c31\u53ef\u4ee5\u770b\u5230\u54ea\u4e2a\u914d\u7f6e\u6587\u4ef6\u7684\u4f18\u5148\u7ea7\u66f4\u9ad8\u4e00\u4e9b<\/p>\n<p>application.properties \u6587\u4ef6\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p>server.port&#061;80<\/p>\n<p>application.yml \u6587\u4ef6\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">81<\/span><\/p>\n<p>application.yaml \u6587\u4ef6\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">82<\/span><\/p>\n<p>\u542f\u52a8\u670d\u52a1&#xff0c;\u5728\u63a7\u5236\u53f0\u53ef\u4ee5\u770b\u5230\u4f7f\u7528\u7684\u7aef\u53e3\u53f7\u662f 80\u3002\u8bf4\u660e application.properties \u7684\u4f18\u5148\u7ea7\u6700\u9ad8<\/p>\n<p>\u6ce8\u91ca\u6389 application.properties \u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u3002\u518d\u6b21\u542f\u52a8\u670d\u52a1&#xff0c;\u5728\u63a7\u5236\u53f0\u53ef\u4ee5\u770b\u5230\u4f7f\u7528\u7684\u7aef\u53e3\u53f7\u662f 81&#xff0c;\u8bf4\u660e application.yml \u914d\u7f6e\u6587\u4ef6\u4e3a\u7b2c\u4e8c\u4f18\u5148\u7ea7\u3002<\/p>\n<p>\u4ece\u4e0a\u8ff0\u7684\u9a8c\u8bc1\u7ed3\u679c\u53ef\u4ee5\u786e\u5b9a\u4e09\u79cd\u914d\u7f6e\u6587\u4ef6\u7684\u4f18\u5148\u7ea7\u662f&#xff1a;<\/p>\n<p>application.properties &gt; application.yml &gt; application.yaml<\/p>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<ul>\n<li>\n<p>SpringBoot \u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\u540d\u4e3a application<\/p>\n<\/li>\n<li>\n<p>SpringBoot \u5185\u7f6e\u5c5e\u6027\u8fc7\u591a&#xff0c;\u4e14\u6240\u6709\u5c5e\u6027\u96c6\u4e2d\u5728\u4e00\u8d77\u4fee\u6539&#xff0c;\u5728\u4f7f\u7528\u65f6&#xff0c;\u901a\u8fc7\u63d0\u793a\u952e&#043;\u5173\u952e\u5b57\u4fee\u6539\u5c5e\u6027<\/p>\n<p>\u4f8b\u5982\u8981\u8bbe\u7f6e\u65e5\u5fd7\u7684\u7ea7\u522b\u65f6&#xff0c;\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u4e66\u5199 logging&#xff0c;\u5c31\u4f1a\u63d0\u793a\u51fa\u6765\u3002\u914d\u7f6e\u5185\u5bb9\u5982\u4e0b<\/p>\n<p> <span class=\"token key atrule\">logging<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">level<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">root<\/span><span class=\"token punctuation\">:<\/span> info\n <\/li>\n<\/ul>\n<h4>2.2 yaml\u683c\u5f0f<\/h4>\n<p>\u4e0a\u9762\u8bb2\u4e86\u4e09\u79cd\u4e0d\u540c\u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u800c properties \u7c7b\u578b\u7684\u914d\u5408\u6587\u4ef6\u4e4b\u524d\u6211\u4eec\u5b66\u4e60\u8fc7&#xff0c;\u63a5\u4e0b\u6765\u6211\u4eec\u91cd\u70b9\u5b66\u4e60 yaml \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<p>YAML&#xff08;YAML Ain\u2019t Markup Language&#xff09;&#xff0c;\u4e00\u79cd\u6570\u636e\u5e8f\u5217\u5316\u683c\u5f0f\u3002\u8fd9\u79cd\u683c\u5f0f\u7684\u914d\u7f6e\u6587\u4ef6\u5728\u8fd1\u4e9b\u5e74\u5df2\u7ecf\u5360\u6709\u4e3b\u5bfc\u5730\u4f4d&#xff0c;\u90a3\u4e48\u8fd9\u79cd\u914d\u7f6e\u6587\u4ef6\u548c\u524d\u671f\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u662f\u6709\u4e00\u4e9b\u4f18\u52bf\u7684&#xff0c;\u6211\u4eec\u5148\u770b\u4e4b\u524d\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<p>\u6700\u5f00\u59cb\u6211\u4eec\u4f7f\u7528\u7684\u662f xml &#xff0c;\u683c\u5f0f\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>enterprise<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>name<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>itcast<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>name<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>age<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>16<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>age<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>tel<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>4006184000<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>tel<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>enterprise<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<p>\u800c properties \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u5982\u4e0b<\/p>\n<p>enterprise.name&#061;itcast<br \/>\nenterprise.age&#061;16<br \/>\nenterprise.tel&#061;4006184000<\/p>\n<p>yaml \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token key atrule\">enterprise<\/span><span class=\"token punctuation\">:<\/span><br \/>\n<span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> itcast<br \/>\n<span class=\"token key atrule\">age<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">16<\/span><br \/>\n<span class=\"token key atrule\">tel<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">4006184000<\/span><\/p>\n<p>\u4f18\u70b9&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u5bb9\u6613\u9605\u8bfb<\/p>\n<p>yaml \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u6bd4 xml \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u66f4\u5bb9\u6613\u9605\u8bfb&#xff0c;\u7ed3\u6784\u66f4\u52a0\u6e05\u6670<\/p>\n<\/li>\n<li>\n<p>\u5bb9\u6613\u4e0e\u811a\u672c\u8bed\u8a00\u4ea4\u4e92<\/p>\n<\/li>\n<li>\n<p>\u4ee5\u6570\u636e\u4e3a\u6838\u5fc3&#xff0c;\u91cd\u6570\u636e\u8f7b\u683c\u5f0f<\/p>\n<p>yaml \u66f4\u6ce8\u91cd\u6570\u636e&#xff0c;\u800c xml \u66f4\u6ce8\u91cd\u683c\u5f0f<\/p>\n<\/li>\n<\/ul>\n<p>YAML \u6587\u4ef6\u6269\u5c55\u540d&#xff1a;<\/p>\n<ul>\n<li>.yml (\u4e3b\u6d41)<\/li>\n<li>.yaml<\/li>\n<\/ul>\n<p>\u4e0a\u9762\u4e24\u79cd\u540e\u7f00\u540d\u90fd\u53ef\u4ee5&#xff0c;\u4ee5\u540e\u4f7f\u7528\u66f4\u591a\u7684\u8fd8\u662f yml \u7684\u3002<\/p>\n<h5>2.2.1 \u8bed\u6cd5\u89c4\u5219<\/h5>\n<ul>\n<li>\n<p>\u5927\u5c0f\u5199\u654f\u611f<\/p>\n<\/li>\n<li>\n<p>\u5c5e\u6027\u5c42\u7ea7\u5173\u7cfb\u4f7f\u7528\u591a\u884c\u63cf\u8ff0&#xff0c;\u6bcf\u884c\u7ed3\u5c3e\u4f7f\u7528\u5192\u53f7\u7ed3\u675f<\/p>\n<\/li>\n<li>\n<p>\u4f7f\u7528\u7f29\u8fdb\u8868\u793a\u5c42\u7ea7\u5173\u7cfb&#xff0c;\u540c\u5c42\u7ea7\u5de6\u4fa7\u5bf9\u9f50&#xff0c;\u53ea\u5141\u8bb8\u4f7f\u7528\u7a7a\u683c&#xff08;\u4e0d\u5141\u8bb8\u4f7f\u7528Tab\u952e&#xff09;<\/p>\n<p>\u7a7a\u683c\u7684\u4e2a\u6570\u5e76\u4e0d\u91cd\u8981&#xff0c;\u53ea\u8981\u4fdd\u8bc1\u540c\u5c42\u7ea7\u7684\u5de6\u4fa7\u5bf9\u9f50\u5373\u53ef\u3002<\/p>\n<\/li>\n<li>\n<p>\u5c5e\u6027\u503c\u524d\u9762\u6dfb\u52a0\u7a7a\u683c&#xff08;\u5c5e\u6027\u540d\u4e0e\u5c5e\u6027\u503c\u4e4b\u95f4\u4f7f\u7528\u5192\u53f7&#043;\u7a7a\u683c\u4f5c\u4e3a\u5206\u9694&#xff09;<\/p>\n<\/li>\n<li>\n<p># \u8868\u793a\u6ce8\u91ca<\/p>\n<\/li>\n<\/ul>\n<p>\u6838\u5fc3\u89c4\u5219&#xff1a;\u6570\u636e\u524d\u9762\u8981\u52a0\u7a7a\u683c\u4e0e\u5192\u53f7\u9694\u5f00<\/p>\n<p>\u6570\u7ec4\u6570\u636e\u5728\u6570\u636e\u4e66\u5199\u4f4d\u7f6e\u7684\u4e0b\u65b9\u4f7f\u7528\u51cf\u53f7\u4f5c\u4e3a\u6570\u636e\u5f00\u59cb\u7b26\u53f7&#xff0c;\u6bcf\u884c\u4e66\u5199\u4e00\u4e2a\u6570\u636e&#xff0c;\u51cf\u53f7\u4e0e\u6570\u636e\u95f4\u7a7a\u683c\u5206\u9694&#xff0c;\u4f8b\u5982<\/p>\n<p><span class=\"token key atrule\">enterprise<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> itcast<br \/>\n  <span class=\"token key atrule\">age<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">16<\/span><br \/>\n  <span class=\"token key atrule\">tel<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">4006184000<\/span><br \/>\n  <span class=\"token key atrule\">subject<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token punctuation\">&#8211;<\/span> Java<br \/>\n    <span class=\"token punctuation\">&#8211;<\/span> \u524d\u7aef<br \/>\n    <span class=\"token punctuation\">&#8211;<\/span> \u5927\u6570\u636e<\/p>\n<h4>2.3 yaml\u914d\u7f6e\u6587\u4ef6\u6570\u636e\u8bfb\u53d6<\/h4>\n<h5>2.3.1 \u73af\u5883\u51c6\u5907<\/h5>\n<p>\u65b0\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a springboot_03_read_data \u7684 SpringBoot \u5de5\u7a0b&#xff0c;\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04ji3444nxgy2.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5728 com.itheima.controller \u5305\u5199\u521b\u5efa\u540d\u4e3a BookController \u7684\u63a7\u5236\u5668&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RestController<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;RequestMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/books&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookController<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;GetMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token annotation punctuation\">&#064;PathVariable<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;id &#061;&#061;&gt; &#034;<\/span><span class=\"token operator\">&#043;<\/span>id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;hello , spring boot!&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u5728 com.itheima.domain \u5305\u4e0b\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a Enterprise \u7684\u5b9e\u4f53\u7c7b\u7b49\u4f1a\u7528\u6765\u5c01\u88c5\u6570\u636e&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Enterprise<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> name<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token keyword\">int<\/span> age<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> tel<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> subject<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token comment\">\/\/setter and getter<\/span><\/p>\n<p>    <span class=\"token comment\">\/\/toString<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u5728 resources \u4e0b\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a application.yml \u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u91cc\u9762\u914d\u7f6e\u4e86\u4e0d\u540c\u7684\u6570\u636e&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token key atrule\">lesson<\/span><span class=\"token punctuation\">:<\/span> SpringBoot<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">80<\/span><\/p>\n<p><span class=\"token key atrule\">enterprise<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> itcast<br \/>\n  <span class=\"token key atrule\">age<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">16<\/span><br \/>\n  <span class=\"token key atrule\">tel<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">4006184000<\/span><br \/>\n  <span class=\"token key atrule\">subject<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token punctuation\">&#8211;<\/span> Java<br \/>\n    <span class=\"token punctuation\">&#8211;<\/span> \u524d\u7aef<br \/>\n    <span class=\"token punctuation\">&#8211;<\/span> \u5927\u6570\u636e<\/p>\n<h5>2.3.2 \u8bfb\u53d6\u914d\u7f6e\u6570\u636e<\/h5>\n<h6>2.3.2.1 \u4f7f\u7528 &#064;Value\u6ce8\u89e3<\/h6>\n<p>\u4f7f\u7528 &#064;Value(&#034;\u8868\u8fbe\u5f0f&#034;) \u6ce8\u89e3\u53ef\u4ee5\u4ece\u914d\u5408\u6587\u4ef6\u4e2d\u8bfb\u53d6\u6570\u636e&#xff0c;\u6ce8\u89e3\u4e2d\u7528\u4e8e\u8bfb\u53d6\u5c5e\u6027\u540d\u5f15\u7528\u65b9\u5f0f\u662f&#xff1a;${\u4e00\u7ea7\u5c5e\u6027\u540d.\u4e8c\u7ea7\u5c5e\u6027\u540d\u2026\u2026}<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u5728 BookController \u4e2d\u4f7f\u7528 &#064;Value \u6ce8\u89e3\u8bfb\u53d6\u914d\u5408\u6587\u4ef6\u6570\u636e&#xff0c;\u5982\u4e0b<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RestController<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;RequestMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/books&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookController<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${lesson}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> lesson<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${server.port}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">Integer<\/span> port<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${enterprise.subject[0]}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> subject_00<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;GetMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token annotation punctuation\">&#064;PathVariable<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>lesson<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>port<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>subject_00<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;hello , spring boot!&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h6>2.3.2.2 Environment\u5bf9\u8c61<\/h6>\n<p>\u4e0a\u9762\u65b9\u5f0f\u8bfb\u53d6\u5230\u7684\u6570\u636e\u7279\u522b\u96f6\u6563&#xff0c;SpringBoot \u8fd8\u53ef\u4ee5\u4f7f\u7528 &#064;Autowired \u6ce8\u89e3\u6ce8\u5165 Environment \u5bf9\u8c61\u7684\u65b9\u5f0f\u8bfb\u53d6\u6570\u636e\u3002\u8fd9\u79cd\u65b9\u5f0f SpringBoot \u4f1a\u5c06\u914d\u7f6e\u6587\u4ef6\u4e2d\u6240\u6709\u7684\u6570\u636e\u5c01\u88c5\u5230 Environment \u5bf9\u8c61\u4e2d&#xff0c;\u5982\u679c\u9700\u8981\u4f7f\u7528\u54ea\u4e2a\u6570\u636e\u53ea\u9700\u8981\u901a\u8fc7\u8c03\u7528 Environment \u5bf9\u8c61\u7684 getProperty(String name) \u65b9\u6cd5\u83b7\u53d6\u3002\u5177\u4f53\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RestController<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;RequestMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/books&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookController<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Autowired<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">Environment<\/span> env<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;GetMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token annotation punctuation\">&#064;PathVariable<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>env<span class=\"token punctuation\">.<\/span><span class=\"token function\">getProperty<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;lesson&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>env<span class=\"token punctuation\">.<\/span><span class=\"token function\">getProperty<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;enterprise.name&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>env<span class=\"token punctuation\">.<\/span><span class=\"token function\">getProperty<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;enterprise.subject[0]&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;hello , spring boot!&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a;\u8fd9\u79cd\u65b9\u5f0f&#xff0c;\u6846\u67b6\u5185\u5bb9\u5927\u91cf\u6570\u636e&#xff0c;\u800c\u5728\u5f00\u53d1\u4e2d\u6211\u4eec\u5f88\u5c11\u4f7f\u7528\u3002<\/p>\n<h6>2.3.2.3 \u81ea\u5b9a\u4e49\u5bf9\u8c61<\/h6>\n<p>SpringBoot \u8fd8\u63d0\u4f9b\u4e86\u5c06\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u6570\u636e\u5c01\u88c5\u5230\u6211\u4eec\u81ea\u5b9a\u4e49\u7684\u5b9e\u4f53\u7c7b\u5bf9\u8c61\u4e2d\u7684\u65b9\u5f0f\u3002\u5177\u4f53\u64cd\u4f5c\u5982\u4e0b&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u5c06\u5b9e\u4f53\u7c7b bean \u7684\u521b\u5efa\u4ea4\u7ed9 Spring \u7ba1\u7406\u3002<\/p>\n<p>\u5728\u7c7b\u4e0a\u6dfb\u52a0 &#064;Component \u6ce8\u89e3<\/p>\n<\/li>\n<li>\n<p>\u4f7f\u7528 &#064;ConfigurationProperties \u6ce8\u89e3\u8868\u793a\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6<\/p>\n<p>\u5728\u8be5\u6ce8\u89e3\u4e2d\u4e5f\u53ef\u4ee5\u4f7f\u7528 prefix \u5c5e\u6027\u6307\u5b9a\u53ea\u52a0\u8f7d\u6307\u5b9a\u524d\u7f00\u7684\u6570\u636e<\/p>\n<\/li>\n<li>\n<p>\u5728 BookController \u4e2d\u8fdb\u884c\u6ce8\u5165<\/p>\n<\/li>\n<\/ul>\n<p>\u5177\u4f53\u4ee3\u7801\u5982\u4e0b&#xff1a;<\/p>\n<p>Enterprise \u5b9e\u4f53\u7c7b\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token annotation punctuation\">&#064;Component<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;ConfigurationProperties<\/span><span class=\"token punctuation\">(<\/span>prefix <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;enterprise&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Enterprise<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> name<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token keyword\">int<\/span> age<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> tel<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> subject<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getName<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> name<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">setName<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">String<\/span> name<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">this<\/span><span class=\"token punctuation\">.<\/span>name <span class=\"token operator\">&#061;<\/span> name<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">int<\/span> <span class=\"token function\">getAge<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> age<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">setAge<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> age<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">this<\/span><span class=\"token punctuation\">.<\/span>age <span class=\"token operator\">&#061;<\/span> age<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getTel<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> tel<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">setTel<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">String<\/span> tel<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">this<\/span><span class=\"token punctuation\">.<\/span>tel <span class=\"token operator\">&#061;<\/span> tel<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token function\">getSubject<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> subject<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">setSubject<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> subject<span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">this<\/span><span class=\"token punctuation\">.<\/span>subject <span class=\"token operator\">&#061;<\/span> subject<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Override<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">toString<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;Enterprise{&#034;<\/span> <span class=\"token operator\">&#043;<\/span><br \/>\n                <span class=\"token string\">&#034;name&#061;&#039;&#034;<\/span> <span class=\"token operator\">&#043;<\/span> name <span class=\"token operator\">&#043;<\/span> <span class=\"token char\">&#039;\\\\&#039;&#039;<\/span> <span class=\"token operator\">&#043;<\/span><br \/>\n                <span class=\"token string\">&#034;, age&#061;&#034;<\/span> <span class=\"token operator\">&#043;<\/span> age <span class=\"token operator\">&#043;<\/span><br \/>\n                <span class=\"token string\">&#034;, tel&#061;&#039;&#034;<\/span> <span class=\"token operator\">&#043;<\/span> tel <span class=\"token operator\">&#043;<\/span> <span class=\"token char\">&#039;\\\\&#039;&#039;<\/span> <span class=\"token operator\">&#043;<\/span><br \/>\n                <span class=\"token string\">&#034;, subject&#061;&#034;<\/span> <span class=\"token operator\">&#043;<\/span> <span class=\"token class-name\">Arrays<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<\/span><span class=\"token punctuation\">(<\/span>subject<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#043;<\/span><br \/>\n                <span class=\"token char\">&#039;}&#039;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>BookController \u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RestController<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;RequestMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/books&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookController<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Autowired<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">Enterprise<\/span> enterprise<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;GetMapping<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\/{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">String<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token annotation punctuation\">&#064;PathVariable<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>enterprise<span class=\"token punctuation\">.<\/span><span class=\"token function\">getName<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>enterprise<span class=\"token punctuation\">.<\/span><span class=\"token function\">getAge<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>enterprise<span class=\"token punctuation\">.<\/span><span class=\"token function\">getSubject<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>enterprise<span class=\"token punctuation\">.<\/span><span class=\"token function\">getTel<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>enterprise<span class=\"token punctuation\">.<\/span><span class=\"token function\">getSubject<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">[<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token string\">&#034;hello , spring boot!&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<p>\u4f7f\u7528\u7b2c\u4e09\u79cd\u65b9\u5f0f&#xff0c;\u5728\u5b9e\u4f53\u7c7b\u4e0a\u6709\u5982\u4e0b\u8b66\u544a\u63d0\u793a<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04vreo5105kvu.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u8fd9\u4e2a\u8b66\u544a\u63d0\u793a\u89e3\u51b3\u662f\u5728 pom.xml \u4e2d\u6dfb\u52a0\u5982\u4e0b\u4f9d\u8d56\u5373\u53ef<\/p>\n<p><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>org.springframework.boot<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>spring-boot-configuration-processor<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>optional<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>true<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>optional<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<h4>2.4 \u591a\u73af\u5883\u914d\u7f6e&#xff08;\u73b0\u9636\u6bb5\u4e86\u89e3&#xff09;<\/h4>\n<p>\u4ee5\u540e\u5728\u5de5\u4f5c\u4e2d&#xff0c;\u5bf9\u4e8e\u5f00\u53d1\u73af\u5883\u3001\u6d4b\u8bd5\u73af\u5883\u3001\u751f\u4ea7\u73af\u5883\u7684\u914d\u7f6e\u80af\u5b9a\u90fd\u4e0d\u76f8\u540c&#xff0c;\u6bd4\u5982\u6211\u4eec\u5f00\u53d1\u9636\u6bb5\u4f1a\u5728\u81ea\u5df1\u7684\u7535\u8111\u4e0a\u5b89\u88c5 mysql &#xff0c;\u8fde\u63a5\u81ea\u5df1\u7535\u8111\u4e0a\u7684 mysql \u5373\u53ef&#xff0c;\u4f46\u662f\u9879\u76ee\u5f00\u53d1\u5b8c\u6bd5\u540e\u8981\u4e0a\u7ebf\u5c31\u9700\u8981\u8be5\u914d\u7f6e&#xff0c;\u5c06\u73af\u5883\u7684\u914d\u7f6e\u6539\u4e3a\u7ebf\u4e0a\u73af\u5883\u7684\u3002<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04h1qrf25ffyc.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u6765\u56de\u7684\u4fee\u6539\u914d\u7f6e\u4f1a\u5f88\u9ebb\u70e6&#xff0c;\u800c SpringBoot \u7ed9\u5f00\u53d1\u8005\u63d0\u4f9b\u4e86\u591a\u73af\u5883\u7684\u5feb\u6377\u914d\u7f6e&#xff0c;\u9700\u8981\u5207\u6362\u73af\u5883\u65f6\u53ea\u9700\u8981\u6539\u4e00\u4e2a\u914d\u7f6e\u5373\u53ef\u3002\u4e0d\u540c\u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u591a\u73af\u5883\u5f00\u53d1\u7684\u914d\u7f6e\u90fd\u4e0d\u76f8\u540c&#xff0c;\u63a5\u4e0b\u6765\u5bf9\u4e0d\u540c\u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u8bf4\u660e<\/p>\n<h5>2.4.1 yaml\u6587\u4ef6<\/h5>\n<p>\u5728 application.yml \u4e2d\u4f7f\u7528 &#8212; \u6765\u5206\u5272\u4e0d\u540c\u7684\u914d\u7f6e&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token comment\">#\u5f00\u53d1<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span> dev <span class=\"token comment\">#\u7ed9\u5f00\u53d1\u73af\u5883\u8d77\u7684\u540d\u5b57<\/span><br \/>\n<span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">80<\/span><br \/>\n<span class=\"token punctuation\">&#8212;<\/span><br \/>\n<span class=\"token comment\">#\u751f\u4ea7<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span> pro <span class=\"token comment\">#\u7ed9\u751f\u4ea7\u73af\u5883\u8d77\u7684\u540d\u5b57<\/span><br \/>\n<span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">81<\/span><br \/>\n<span class=\"token punctuation\">&#8212;<\/span><br \/>\n<span class=\"token comment\">#\u6d4b\u8bd5<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span> test <span class=\"token comment\">#\u7ed9\u6d4b\u8bd5\u73af\u5883\u8d77\u7684\u540d\u5b57<\/span><br \/>\n<span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">82<\/span><br \/>\n<span class=\"token punctuation\">&#8212;<\/span><\/p>\n<p>\u4e0a\u9762\u914d\u7f6e\u4e2d spring.profiles \u662f\u7528\u6765\u7ed9\u4e0d\u540c\u7684\u914d\u7f6e\u8d77\u540d\u5b57\u7684\u3002\u800c\u5982\u4f55\u544a\u77e5 SpringBoot \u4f7f\u7528\u54ea\u6bb5\u914d\u7f6e\u5462&#xff1f;\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u6765\u542f\u7528\u90fd\u4e00\u6bb5\u914d\u7f6e<\/p>\n<p><span class=\"token comment\">#\u8bbe\u7f6e\u542f\u7528\u7684\u73af\u5883<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">active<\/span><span class=\"token punctuation\">:<\/span> dev  <span class=\"token comment\">#\u8868\u793a\u4f7f\u7528\u7684\u662f\u5f00\u53d1\u73af\u5883\u7684\u914d\u7f6e<\/span><\/p>\n<p>\u7efc\u4e0a\u6240\u8ff0&#xff0c;application.yml \u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token comment\">#\u8bbe\u7f6e\u542f\u7528\u7684\u73af\u5883<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">active<\/span><span class=\"token punctuation\">:<\/span> dev<\/p>\n<p><span class=\"token punctuation\">&#8212;<\/span><br \/>\n<span class=\"token comment\">#\u5f00\u53d1<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span> dev<br \/>\n<span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">80<\/span><br \/>\n<span class=\"token punctuation\">&#8212;<\/span><br \/>\n<span class=\"token comment\">#\u751f\u4ea7<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span> pro<br \/>\n<span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">81<\/span><br \/>\n<span class=\"token punctuation\">&#8212;<\/span><br \/>\n<span class=\"token comment\">#\u6d4b\u8bd5<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">profiles<\/span><span class=\"token punctuation\">:<\/span> test<br \/>\n<span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">82<\/span><br \/>\n<span class=\"token punctuation\">&#8212;<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<p>\u5728\u4e0a\u9762\u914d\u7f6e\u4e2d\u7ed9\u4e0d\u540c\u914d\u7f6e\u8d77\u540d\u5b57\u7684 spring.profiles \u914d\u7f6e\u9879\u5df2\u7ecf\u8fc7\u65f6\u3002\u6700\u65b0\u7528\u6765\u8d77\u540d\u5b57\u7684\u914d\u7f6e\u9879\u662f<\/p>\n<p><span class=\"token comment\">#\u5f00\u53d1<\/span><br \/>\n<span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">config<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">activate<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">on-profile<\/span><span class=\"token punctuation\">:<\/span> dev<\/p>\n<h5>2.4.2 properties\u6587\u4ef6<\/h5>\n<p>properties \u7c7b\u578b\u7684\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e\u591a\u73af\u5883\u9700\u8981\u5b9a\u4e49\u4e0d\u540c\u7684\u914d\u7f6e\u6587\u4ef6<\/p>\n<ul>\n<li>\n<p>application-dev.properties \u662f\u5f00\u53d1\u73af\u5883\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u6211\u4eec\u5728\u8be5\u6587\u4ef6\u4e2d\u914d\u7f6e\u7aef\u53e3\u53f7\u4e3a 80<\/p>\n<p> server.port&#061;80\n <\/li>\n<li>\n<p>application-test.properties \u662f\u6d4b\u8bd5\u73af\u5883\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u6211\u4eec\u5728\u8be5\u6587\u4ef6\u4e2d\u914d\u7f6e\u7aef\u53e3\u53f7\u4e3a 81<\/p>\n<p> server.port&#061;81\n <\/li>\n<li>\n<p>application-pro.properties \u662f\u751f\u4ea7\u73af\u5883\u7684\u914d\u7f6e\u6587\u4ef6\u3002\u6211\u4eec\u5728\u8be5\u6587\u4ef6\u4e2d\u914d\u7f6e\u7aef\u53e3\u53f7\u4e3a 82<\/p>\n<p> server.port&#061;82\n <\/li>\n<\/ul>\n<p>SpringBoot \u53ea\u4f1a\u9ed8\u8ba4\u52a0\u8f7d\u540d\u4e3a application.properties \u7684\u914d\u7f6e\u6587\u4ef6&#xff0c;\u6240\u4ee5\u9700\u8981\u5728 application.properties \u914d\u7f6e\u6587\u4ef6\u4e2d\u8bbe\u7f6e\u542f\u7528\u54ea\u4e2a\u914d\u7f6e\u6587\u4ef6&#xff0c;\u914d\u7f6e\u5982\u4e0b:<\/p>\n<p>spring.profiles.active&#061;pro<\/p>\n<h5>2.4.3 \u547d\u4ee4\u884c\u542f\u52a8\u53c2\u6570\u8bbe\u7f6e<\/h5>\n<p>\u4f7f\u7528 SpringBoot \u5f00\u53d1\u7684\u7a0b\u5e8f\u4ee5\u540e\u90fd\u662f\u6253\u6210 jar \u5305&#xff0c;\u901a\u8fc7 java -jar xxx.jar \u7684\u65b9\u5f0f\u542f\u52a8\u670d\u52a1\u7684\u3002\u90a3\u4e48\u5c31\u5b58\u5728\u4e00\u4e2a\u95ee\u9898&#xff0c;\u5982\u4f55\u5207\u6362\u73af\u5883\u5462&#xff1f;\u56e0\u4e3a\u914d\u7f6e\u6587\u4ef6\u6253\u5230\u7684jar\u5305\u4e2d\u4e86\u3002<\/p>\n<p>\u6211\u4eec\u77e5\u9053 jar \u5305\u5176\u5b9e\u5c31\u662f\u4e00\u4e2a\u538b\u7f29\u5305&#xff0c;\u53ef\u4ee5\u89e3\u538b\u7f29&#xff0c;\u7136\u540e\u4fee\u6539\u914d\u7f6e&#xff0c;\u6700\u540e\u518d\u6253\u6210jar\u5305\u5c31\u53ef\u4ee5\u4e86\u3002\u8fd9\u79cd\u65b9\u5f0f\u663e\u7136\u6709\u70b9\u9ebb\u70e6&#xff0c;\u800c SpringBoot \u63d0\u4f9b\u4e86\u5728\u8fd0\u884c jar \u65f6\u8bbe\u7f6e\u5f00\u542f\u6307\u5b9a\u7684\u73af\u5883\u7684\u65b9\u5f0f&#xff0c;\u5982\u4e0b<\/p>\n<p><span class=\"token function\">java<\/span> \u2013jar xxx.jar \u2013-spring.profiles.active<span class=\"token operator\">&#061;<\/span>test<\/p>\n<p>\u90a3\u4e48\u8fd9\u79cd\u65b9\u5f0f\u80fd\u4e0d\u80fd\u4e34\u65f6\u4fee\u6539\u7aef\u53e3\u53f7\u5462&#xff1f;\u4e5f\u662f\u53ef\u4ee5\u7684&#xff0c;\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f<\/p>\n<p><span class=\"token function\">java<\/span> \u2013jar xxx.jar \u2013-server.port<span class=\"token operator\">&#061;<\/span><span class=\"token number\">88<\/span><\/p>\n<p>\u5f53\u7136\u4e5f\u53ef\u4ee5\u540c\u65f6\u8bbe\u7f6e\u591a\u4e2a\u914d\u7f6e&#xff0c;\u6bd4\u5982\u5373\u6307\u5b9a\u542f\u7528\u54ea\u4e2a\u73af\u5883\u914d\u7f6e&#xff0c;\u53c8\u4e34\u65f6\u6307\u5b9a\u7aef\u53e3&#xff0c;\u5982\u4e0b<\/p>\n<p><span class=\"token function\">java<\/span> \u2013jar springboot.jar \u2013-server.port<span class=\"token operator\">&#061;<\/span><span class=\"token number\">88<\/span> \u2013-spring.profiles.active<span class=\"token operator\">&#061;<\/span>test<\/p>\n<p>\u5927\u5bb6\u8fdb\u884c\u6d4b\u8bd5\u540e\u5c31\u4f1a\u53d1\u73b0\u547d\u4ee4\u884c\u8bbe\u7f6e\u7684\u7aef\u53e3\u53f7\u4f18\u5148\u7ea7\u9ad8&#xff08;\u4e5f\u5c31\u662f\u4f7f\u7528\u7684\u662f\u547d\u4ee4\u884c\u8bbe\u7f6e\u7684\u7aef\u53e3\u53f7&#xff09;&#xff0c;\u914d\u7f6e\u7684\u4f18\u5148\u7ea7\u5176\u5b9e SpringBoot \u5b98\u7f51\u5df2\u7ecf\u8fdb\u884c\u4e86\u8bf4\u660e&#xff0c;\u53c2\u89c1 :<\/p>\n<p>https:\/\/docs.spring.io\/spring-boot\/docs\/current\/reference\/html\/spring-boot-features.html#boot-features-external-config<\/p>\n<p>\u8fdb\u5165\u4e0a\u9762\u7f51\u7ad9\u540e\u4f1a\u770b\u5230\u5982\u4e0b\u9875\u9762<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04zn3xkqnirw0.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5982\u679c\u4f7f\u7528\u4e86\u591a\u79cd\u65b9\u5f0f\u914d\u5408\u540c\u4e00\u4e2a\u914d\u7f6e\u9879&#xff0c;\u4f18\u5148\u7ea7\u9ad8\u7684\u751f\u6548\u3002<\/p>\n<h4>2.5 \u914d\u7f6e\u6587\u4ef6\u5206\u7c7b&#xff08;\u73b0\u9636\u6bb5\u4e86\u89e3&#xff09;<\/h4>\n<p><img decoding=\"async\" src=\"2026-03-04nuo10asxarr.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u6709\u8fd9\u6837\u7684\u573a\u666f&#xff0c;\u6211\u4eec\u5f00\u53d1\u5b8c\u6bd5\u540e\u9700\u8981\u6d4b\u8bd5\u4eba\u5458\u8fdb\u884c\u6d4b\u8bd5&#xff0c;\u7531\u4e8e\u6d4b\u8bd5\u73af\u5883\u548c\u5f00\u53d1\u73af\u5883\u7684\u5f88\u591a\u914d\u7f6e\u90fd\u4e0d\u76f8\u540c&#xff0c;\u6240\u4ee5\u6d4b\u8bd5\u4eba\u5458\u5728\u8fd0\u884c\u6211\u4eec\u7684\u5de5\u7a0b\u65f6\u9700\u8981\u4e34\u65f6\u4fee\u6539\u5f88\u591a\u914d\u7f6e&#xff0c;\u5982\u4e0b<\/p>\n<p><span class=\"token function\">java<\/span> \u2013jar springboot.jar \u2013-spring.profiles.active<span class=\"token operator\">&#061;<\/span>test <span class=\"token parameter variable\">&#8211;server.port<\/span><span class=\"token operator\">&#061;<\/span><span class=\"token number\">85<\/span> &#8211;server.servlet.context-path<span class=\"token operator\">&#061;<\/span>\/heima &#8211;server.tomcat.connection-timeout<span class=\"token operator\">&#061;<\/span>-1 \u2026\u2026 \u2026\u2026 \u2026\u2026 \u2026\u2026 \u2026\u2026<\/p>\n<p>\u9488\u5bf9\u8fd9\u79cd\u60c5\u51b5&#xff0c;SpringBoot \u5b9a\u4e49\u4e86\u914d\u7f6e\u6587\u4ef6\u4e0d\u540c\u7684\u653e\u7f6e\u7684\u4f4d\u7f6e&#xff1b;\u800c\u653e\u5728\u4e0d\u540c\u4f4d\u7f6e\u7684\u4f18\u5148\u7ea7\u65f6\u4e0d\u540c\u7684\u3002<\/p>\n<p>SpringBoot \u4e2d4\u7ea7\u914d\u7f6e\u6587\u4ef6\u653e\u7f6e\u4f4d\u7f6e&#xff1a;<\/p>\n<ul>\n<li>1\u7ea7&#xff1a;classpath&#xff1a;application.yml<\/li>\n<li>2\u7ea7&#xff1a;classpath&#xff1a;config\/application.yml<\/li>\n<li>3\u7ea7&#xff1a;file &#xff1a;application.yml<\/li>\n<li>4\u7ea7&#xff1a;file &#xff1a;config\/application.yml<\/li>\n<\/ul>\n<p>&#061;&#061;\u8bf4\u660e&#xff1a;&#061;&#061;\u7ea7\u522b\u8d8a\u9ad8\u4f18\u5148\u7ea7\u8d8a\u9ad8<\/p>\n<h5>2.5.1 \u4ee3\u7801\u6f14\u793a<\/h5>\n<p>\u5728\u8fd9\u91cc\u6211\u4eec\u53ea\u6f14\u793a\u4e0d\u540c\u7ea7\u522b\u914d\u7f6e\u6587\u4ef6\u653e\u7f6e\u4f4d\u7f6e\u7684\u4f18\u5148\u7ea7\u3002<\/p>\n<h6>2.5.1.1 \u73af\u5883\u51c6\u5907<\/h6>\n<p>\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a springboot_06_config_file \u7684 SpringBoot \u5de5\u7a0b&#xff0c;\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04kz2b5goh0qu.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5728 resources \u4e0b\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a config \u7684\u76ee\u5f55&#xff0c;\u5728\u8be5\u76ee\u5f55\u4e2d\u521b\u5efa application.yml \u914d\u7f6e\u6587\u4ef6&#xff0c;\u800c\u5728\u8be5\u914d\u7f6e\u6587\u4ef6\u4e2d\u5c06\u7aef\u53e3\u53f7\u8bbe\u7f6e\u4e3a 81&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">81<\/span><\/p>\n<p>\u800c\u5728 resources \u4e0b\u521b\u5efa\u7684 application.yml \u914d\u7f6e\u6587\u4ef6\u4e2d\u5e76\u5c06\u7aef\u53e3\u53f7\u8bbe\u7f6e\u4e3a 80&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">80<\/span><\/p>\n<h6>2.5.1.2 \u9a8c\u8bc11\u7ea7\u548c2\u7ea7\u7684\u4f18\u5148\u7ea7<\/h6>\n<p>\u8fd0\u884c\u542f\u52a8\u5f15\u5bfc\u7c7b&#xff0c;\u53ef\u4ee5\u5728\u63a7\u5236\u53f0\u770b\u5230\u5982\u4e0b\u65e5\u5fd7\u4fe1\u606f<\/p>\n<p><img decoding=\"async\" src=\"2026-03-044vck1dtflon.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u901a\u8fc7\u8fd9\u4e2a\u7ed3\u679c\u53ef\u4ee5\u5f97\u51fa\u7c7b\u8def\u5f84\u4e0b\u7684 config \u4e0b\u7684\u914d\u7f6e\u6587\u4ef6\u4f18\u5148\u4e8e\u7c7b\u8def\u5f84\u4e0b\u7684\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<h6>2.5.1.3 \u9a8c\u8bc12\u7ea7\u548c4\u7ea7\u7684\u4f18\u5148\u7ea7<\/h6>\n<p>\u8981\u9a8c\u8bc14\u7ea7&#xff0c;\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b8c\u6210<\/p>\n<ul>\n<li>\n<p>\u5c06\u5de5\u7a0b\u6253\u6210 jar \u5305<\/p>\n<p>\u70b9\u51fb\u5de5\u7a0b\u7684 package \u6765\u6253 jar \u5305<\/p>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04mc2fcyzsfxp.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u5728\u786c\u76d8\u4e0a\u627e\u5230 jar \u5305\u6240\u5728\u4f4d\u7f6e<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-042vas1ycbxn0.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\n<p>\u5728 jar \u5305\u6240\u5728\u4f4d\u7f6e\u521b\u5efa config \u6587\u4ef6\u5939&#xff0c;\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u521b\u5efa application.yml \u914d\u7f6e\u6587\u4ef6&#xff0c;\u800c\u5728\u8be5\u914d\u5408\u6587\u4ef6\u4e2d\u5c06\u7aef\u53e3\u53f7\u8bbe\u7f6e\u4e3a 82<\/p>\n<\/li>\n<li>\n<p>\u5728\u547d\u4ee4\u884c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u8fd0\u884c\u7a0b\u5e8f<\/p>\n<p> <span class=\"token function\">java<\/span> <span class=\"token parameter variable\">-jar<\/span> springboot_06_config_file-0.0.1-SNAPSHOT.jar<\/p>\n<p>\u8fd0\u884c\u540e\u65e5\u5fd7\u4fe1\u606f\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04v1vjxoowrxu.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u901a\u8fc7\u8fd9\u4e2a\u7ed3\u679c\u53ef\u4ee5\u5f97\u51fafile&#xff1a; config \u4e0b\u7684\u914d\u7f6e\u6587\u4ef6\u4f18\u5148\u4e8e\u7c7b\u8def\u5f84\u4e0b\u7684\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<p>SpringBoot 2.5.0\u7248\u672c\u5b58\u5728\u4e00\u4e2abug&#xff0c;\u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u7248\u672c\u65f6&#xff0c;\u9700\u8981\u5728 jar \u6240\u5728\u4f4d\u7f6e\u7684 config \u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a\u4efb\u610f\u540d\u79f0\u7684\u6587\u4ef6\u5939<\/p>\n<h3>3. SpringBoot\u6574\u5408junit&#xff08;\u901a\u8fc7\u5b98\u65b9Starter \u4f9d\u8d56\u4f1a\u81ea\u52a8\u5f15\u5165 JUnit \u76f8\u5173\u5305&#xff0c;\u5b9e\u73b0\u5f00\u7bb1\u5373\u7528\u7684\u6d4b\u8bd5\u80fd\u529b&#xff09;<\/h3>\n<p>\u56de\u987e Spring \u6574\u5408 junit<\/p>\n<p><span class=\"token annotation punctuation\">&#064;RunWith<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">SpringJUnit4ClassRunner<\/span><span class=\"token punctuation\">.<\/span><span class=\"token keyword\">class<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;ContextConfiguration<\/span><span class=\"token punctuation\">(<\/span>classes <span class=\"token operator\">&#061;<\/span> <span class=\"token class-name\">SpringConfig<\/span><span class=\"token punctuation\">.<\/span><span class=\"token keyword\">class<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">UserServiceTest<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Autowired<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">BookService<\/span> bookService<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Test<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">testSave<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        bookService<span class=\"token punctuation\">.<\/span><span class=\"token function\">save<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u4f7f\u7528 &#064;RunWith \u6ce8\u89e3\u6307\u5b9a\u8fd0\u884c\u5668&#xff0c;\u4f7f\u7528 &#064;ContextConfiguration \u6ce8\u89e3\u6765\u6307\u5b9a\u914d\u7f6e\u7c7b\u6216\u8005\u914d\u7f6e\u6587\u4ef6\u3002\u800c SpringBoot \u6574\u5408 junit \u7279\u522b\u7b80\u5355&#xff0c;\u5206\u4e3a\u4ee5\u4e0b\u4e09\u6b65\u5b8c\u6210<\/p>\n<ul>\n<li>\u5728\u6d4b\u8bd5\u7c7b\u4e0a\u6dfb\u52a0 SpringBootTest \u6ce8\u89e3<\/li>\n<li>\u4f7f\u7528 &#064;Autowired \u6ce8\u5165\u8981\u6d4b\u8bd5\u7684\u8d44\u6e90<\/li>\n<li>\u5b9a\u4e49\u6d4b\u8bd5\u65b9\u6cd5\u8fdb\u884c\u6d4b\u8bd5<\/li>\n<\/ul>\n<h4>3.1 \u73af\u5883\u51c6\u5907<\/h4>\n<p>\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a springboot_07_test \u7684 SpringBoot \u5de5\u7a0b&#xff0c;\u5de5\u7a0b\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04rf5kkbzujt2.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5728 com.itheima.service \u4e0b\u521b\u5efa BookService \u63a5\u53e3&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token keyword\">public<\/span> <span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">BookService<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">save<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u5728 com.itheima.service.impl \u5305\u5199\u521b\u5efa\u4e00\u4e2a BookServiceImpl \u7c7b&#xff0c;\u4f7f\u5176\u5b9e\u73b0 BookService \u63a5\u53e3&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token annotation punctuation\">&#064;Service<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookServiceImpl<\/span> <span class=\"token keyword\">implements<\/span> <span class=\"token class-name\">BookService<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Override<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">save<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;book service is running &#8230;&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h4>3.2 \u7f16\u5199\u6d4b\u8bd5\u7c7b<\/h4>\n<p>\u5728 test\/java \u4e0b\u521b\u5efa com.itheima \u5305&#xff0c;\u5728\u8be5\u5305\u4e0b\u521b\u5efa\u6d4b\u8bd5\u7c7b&#xff0c;\u5c06 BookService \u6ce8\u5165\u5230\u8be5\u6d4b\u8bd5\u7c7b\u4e2d<\/p>\n<p><span class=\"token annotation punctuation\">&#064;SpringBootTest<\/span><br \/>\n<span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Springboot07TestApplicationTests<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Autowired<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">BookService<\/span> bookService<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Test<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">save<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        bookService<span class=\"token punctuation\">.<\/span><span class=\"token function\">save<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>&#061;&#061;\u6ce8\u610f&#xff1a;&#061;&#061;\u8fd9\u91cc\u7684\u5f15\u5bfc\u7c7b\u6240\u5728\u5305\u5fc5\u987b\u662f\u6d4b\u8bd5\u7c7b\u6240\u5728\u5305\u53ca\u5176\u5b50\u5305\u3002<\/p>\n<p>\u4f8b\u5982&#xff1a;<\/p>\n<ul>\n<li>\u5f15\u5bfc\u7c7b\u6240\u5728\u5305\u662f com.itheima<\/li>\n<li>\u6d4b\u8bd5\u7c7b\u6240\u5728\u5305\u662f com.itheima<\/li>\n<\/ul>\n<p>\u5982\u679c\u4e0d\u6ee1\u8db3\u8fd9\u4e2a\u8981\u6c42\u7684\u8bdd&#xff0c;\u5c31\u9700\u8981\u5728\u4f7f\u7528 &#064;SpringBootTest \u6ce8\u89e3\u65f6&#xff0c;\u4f7f\u7528 classes \u5c5e\u6027\u6307\u5b9a\u5f15\u5bfc\u7c7b\u7684\u5b57\u8282\u7801\u5bf9\u8c61\u3002\u5982 &#064;SpringBootTest(classes &#061; Springboot07TestApplication.class)<\/p>\n<h3>4. SpringBoot\u6574\u5408mybatis&#xff08;\u5f88\u7b80\u6d01&#xff09;<\/h3>\n<h4>4.1 \u56de\u987eSpring\u6574\u5408Mybatis<\/h4>\n<p>Spring \u6574\u5408 Mybatis \u9700\u8981\u5b9a\u4e49\u5f88\u591a\u914d\u7f6e\u7c7b<\/p>\n<ul>\n<li>\n<p>SpringConfig \u914d\u7f6e\u7c7b<\/p>\n<ul>\n<li>\n<p>\u5bfc\u5165 JdbcConfig \u914d\u7f6e\u7c7b<\/p>\n<\/li>\n<li>\n<p>\u5bfc\u5165 MybatisConfig \u914d\u7f6e\u7c7b<\/p>\n<p> <span class=\"token annotation punctuation\">&#064;Configuration<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;ComponentScan<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;com.itheima&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;PropertySource<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;classpath:jdbc.properties&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token annotation punctuation\">&#064;Import<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><span class=\"token class-name\">JdbcConfig<\/span><span class=\"token punctuation\">.<\/span><span class=\"token keyword\">class<\/span><span class=\"token punctuation\">,<\/span><span class=\"token class-name\">MyBatisConfig<\/span><span class=\"token punctuation\">.<\/span><span class=\"token keyword\">class<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">SpringConfig<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>JdbcConfig \u914d\u7f6e\u7c7b<\/p>\n<\/li>\n<li>\n<p>\u5b9a\u4e49\u6570\u636e\u6e90&#xff08;\u52a0\u8f7dproperties\u914d\u7f6e\u9879&#xff1a;driver\u3001url\u3001username\u3001password&#xff09;<\/p>\n<p> <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">JdbcConfig<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${jdbc.driver}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> driver<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${jdbc.url}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> url<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${jdbc.username}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> userName<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Value<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;${jdbc.password}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> password<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Bean<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">DataSource<\/span> <span class=\"token function\">getDataSource<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">DruidDataSource<\/span> ds <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">DruidDataSource<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        ds<span class=\"token punctuation\">.<\/span><span class=\"token function\">setDriverClassName<\/span><span class=\"token punctuation\">(<\/span>driver<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        ds<span class=\"token punctuation\">.<\/span><span class=\"token function\">setUrl<\/span><span class=\"token punctuation\">(<\/span>url<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        ds<span class=\"token punctuation\">.<\/span><span class=\"token function\">setUsername<\/span><span class=\"token punctuation\">(<\/span>userName<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        ds<span class=\"token punctuation\">.<\/span><span class=\"token function\">setPassword<\/span><span class=\"token punctuation\">(<\/span>password<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> ds<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span>\n <\/li>\n<li>\n<p>MybatisConfig \u914d\u7f6e\u7c7b<\/p>\n<ul>\n<li>\n<p>\u5b9a\u4e49 SqlSessionFactoryBean<\/p>\n<\/li>\n<li>\n<p>\u5b9a\u4e49\u6620\u5c04\u914d\u7f6e<\/p>\n<p> <span class=\"token annotation punctuation\">&#064;Bean<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token class-name\">MapperScannerConfigurer<\/span> <span class=\"token function\">getMapperScannerConfigurer<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token class-name\">MapperScannerConfigurer<\/span> msc <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">MapperScannerConfigurer<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    msc<span class=\"token punctuation\">.<\/span><span class=\"token function\">setBasePackage<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;com.itheima.dao&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> msc<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p><span class=\"token annotation punctuation\">&#064;Bean<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token class-name\">SqlSessionFactoryBean<\/span> <span class=\"token function\">getSqlSessionFactoryBean<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">DataSource<\/span> dataSource<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token class-name\">SqlSessionFactoryBean<\/span> ssfb <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">SqlSessionFactoryBean<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    ssfb<span class=\"token punctuation\">.<\/span><span class=\"token function\">setTypeAliasesPackage<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;com.itheima.domain&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    ssfb<span class=\"token punctuation\">.<\/span><span class=\"token function\">setDataSource<\/span><span class=\"token punctuation\">(<\/span>dataSource<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> ssfb<span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>4.2 SpringBoot\u6574\u5408mybatis<\/h4>\n<h5>4.2.1 \u521b\u5efa\u6a21\u5757<\/h5>\n<ul>\n<li>\u521b\u5efa\u65b0\u6a21\u5757&#xff0c;\u9009\u62e9 Spring Initializr&#xff0c;\u5e76\u914d\u7f6e\u6a21\u5757\u76f8\u5173\u57fa\u7840\u4fe1\u606f<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04hfuw0feeusb.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<ul>\n<li>\u9009\u62e9\u5f53\u524d\u6a21\u5757\u9700\u8981\u4f7f\u7528\u7684\u6280\u672f\u96c6&#xff08;MyBatis\u3001MySQL&#xff09;<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-03-04wh0gmw0pmif.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h5>4.2.2 \u5b9a\u4e49\u5b9e\u4f53\u7c7b<\/h5>\n<p>\u5728 com.itheima.domain \u5305\u4e0b\u5b9a\u4e49\u5b9e\u4f53\u7c7b Book&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Book<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> name<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> type<span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">String<\/span> description<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token comment\">\/\/setter and  getter<\/span><\/p>\n<p>    <span class=\"token comment\">\/\/toString<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h5>4.2.3 \u5b9a\u4e49dao\u63a5\u53e3<\/h5>\n<p>\u5728 com.itheima.dao \u5305\u4e0b\u5b9a\u4e49 BookDao \u63a5\u53e3&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token keyword\">public<\/span> <span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">BookDao<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Select<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;select * from tbl_book where id &#061; #{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">Book<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h5>4.2.4 \u5b9a\u4e49\u6d4b\u8bd5\u7c7b<\/h5>\n<p>\u5728 test\/java \u4e0b\u5b9a\u4e49\u5305 com.itheima &#xff0c;\u5728\u8be5\u5305\u4e0b\u6d4b\u8bd5\u7c7b&#xff0c;\u5185\u5bb9\u5982\u4e0b<\/p>\n<p><span class=\"token annotation punctuation\">&#064;SpringBootTest<\/span><br \/>\n<span class=\"token keyword\">class<\/span> <span class=\"token class-name\">Springboot08MybatisApplicationTests<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p><span class=\"token annotation punctuation\">&#064;Autowired<\/span><br \/>\n<span class=\"token keyword\">private<\/span> <span class=\"token class-name\">BookDao<\/span> bookDao<span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token annotation punctuation\">&#064;Test<\/span><br \/>\n<span class=\"token keyword\">void<\/span> <span class=\"token function\">testGetById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n<span class=\"token class-name\">Book<\/span> book <span class=\"token operator\">&#061;<\/span> bookDao<span class=\"token punctuation\">.<\/span><span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>book<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<h5>4.2.5 \u7f16\u5199\u914d\u7f6e<\/h5>\n<p>\u6211\u4eec\u4ee3\u7801\u4e2d\u5e76\u6ca1\u6709\u6307\u5b9a\u8fde\u63a5\u54ea\u513f\u4e2a\u6570\u636e\u5e93&#xff0c;\u7528\u6237\u540d\u662f\u4ec0\u4e48&#xff0c;\u5bc6\u7801\u662f\u4ec0\u4e48\u3002\u6240\u4ee5\u8fd9\u90e8\u5206\u9700\u8981\u5728 SpringBoot \u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u8fdb\u884c\u914d\u5408\u3002<\/p>\n<p>\u5728 application.yml \u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e\u5982\u4e0b\u5185\u5bb9<\/p>\n<p><span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">datasource<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">driver-class-name<\/span><span class=\"token punctuation\">:<\/span> com.mysql.jdbc.Driver<br \/>\n    <span class=\"token key atrule\">url<\/span><span class=\"token punctuation\">:<\/span> jdbc<span class=\"token punctuation\">:<\/span>mysql<span class=\"token punctuation\">:<\/span>\/\/localhost<span class=\"token punctuation\">:<\/span>3306\/ssm_db<br \/>\n    <span class=\"token key atrule\">username<\/span><span class=\"token punctuation\">:<\/span> root<br \/>\n    <span class=\"token key atrule\">password<\/span><span class=\"token punctuation\">:<\/span> root<\/p>\n<h5>4.2.6 \u6d4b\u8bd5<\/h5>\n<p>\u8fd0\u884c\u6d4b\u8bd5\u65b9\u6cd5&#xff0c;\u6211\u4eec\u4f1a\u770b\u5230\u5982\u4e0b\u9519\u8bef\u4fe1\u606f<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04ruvvnki1crc.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u9519\u8bef\u4fe1\u606f\u663e\u793a\u5728 Spring \u5bb9\u5668\u4e2d\u6ca1\u6709 BookDao \u7c7b\u578b\u7684 bean\u3002\u4e3a\u4ec0\u4e48\u4f1a\u51fa\u73b0\u8fd9\u79cd\u60c5\u51b5\u5462&#xff1f;<\/p>\n<p>\u539f\u56e0\u662f Mybatis \u4f1a\u626b\u63cf\u63a5\u53e3\u5e76\u521b\u5efa\u63a5\u53e3\u7684\u4ee3\u7801\u5bf9\u8c61\u4ea4\u7ed9 Spring \u7ba1\u7406&#xff0c;\u4f46\u662f\u73b0\u5728\u5e76\u6ca1\u6709\u544a\u8bc9 Mybatis \u54ea\u4e2a\u662f dao \u63a5\u53e3\u3002\u800c\u6211\u4eec\u8981\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u9700\u8981\u5728BookDao \u63a5\u53e3\u4e0a\u4f7f\u7528 &#064;Mapper &#xff0c;BookDao \u63a5\u53e3\u6539\u8fdb\u4e3a<\/p>\n<p><span class=\"token annotation punctuation\">&#064;Mapper<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">interface<\/span> <span class=\"token class-name\">BookDao<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token annotation punctuation\">&#064;Select<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;select * from tbl_book where id &#061; #{id}&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token class-name\">Book<\/span> <span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">Integer<\/span> id<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a;<\/p>\n<p>SpringBoot \u7248\u672c\u4f4e\u4e8e2.4.3(\u4e0d\u542b)&#xff0c;Mysql\u9a71\u52a8\u7248\u672c\u5927\u4e8e8.0\u65f6&#xff0c;\u9700\u8981\u5728url\u8fde\u63a5\u4e32\u4e2d\u914d\u7f6e\u65f6\u533a jdbc:mysql:\/\/localhost:3306\/ssm_db?serverTimezone&#061;UTC&#xff0c;\u6216\u5728MySQL\u6570\u636e\u5e93\u7aef\u914d\u7f6e\u65f6\u533a\u89e3\u51b3\u6b64\u95ee\u9898<\/p>\n<h5>4.2.7 \u4f7f\u7528Druid\u6570\u636e\u6e90<\/h5>\n<p>\u73b0\u5728\u6211\u4eec\u5e76\u6ca1\u6709\u6307\u5b9a\u6570\u636e\u6e90&#xff0c;SpringBoot \u6709\u9ed8\u8ba4\u7684\u6570\u636e\u6e90&#xff0c;\u6211\u4eec\u4e5f\u53ef\u4ee5\u6307\u5b9a\u4f7f\u7528 Druid \u6570\u636e\u6e90&#xff0c;\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5b9e\u73b0<\/p>\n<ul>\n<li>\n<p>\u5bfc\u5165 Druid \u4f9d\u8d56<\/p>\n<p> <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>com.alibaba<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>druid<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>1.1.16<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>\n <\/li>\n<li>\n<p>\u5728 application.yml \u914d\u7f6e\u6587\u4ef6\u914d\u7f6e<\/p>\n<p>\u53ef\u4ee5\u901a\u8fc7 spring.datasource.type \u6765\u914d\u7f6e\u4f7f\u7528\u4ec0\u4e48\u6570\u636e\u6e90\u3002\u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\u53ef\u4ee5\u6539\u8fdb\u4e3a<\/p>\n<p> <span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">datasource<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">driver-class-name<\/span><span class=\"token punctuation\">:<\/span> com.mysql.cj.jdbc.Driver<br \/>\n    <span class=\"token key atrule\">url<\/span><span class=\"token punctuation\">:<\/span> jdbc<span class=\"token punctuation\">:<\/span>mysql<span class=\"token punctuation\">:<\/span>\/\/localhost<span class=\"token punctuation\">:<\/span>3306\/ssm_db<span class=\"token punctuation\">?<\/span>serverTimezone&#061;UTC<br \/>\n    <span class=\"token key atrule\">username<\/span><span class=\"token punctuation\">:<\/span> root<br \/>\n    <span class=\"token key atrule\">password<\/span><span class=\"token punctuation\">:<\/span> root<br \/>\n    <span class=\"token key atrule\">type<\/span><span class=\"token punctuation\">:<\/span> com.alibaba.druid.pool.DruidDataSource\n <\/li>\n<\/ul>\n<h3>5. \u6848\u4f8b<\/h3>\n<p>SpringBoot \u5230\u8fd9\u5c31\u5df2\u7ecf\u5b66\u4e60\u5b8c\u6bd5&#xff0c;\u63a5\u4e0b\u6765\u6211\u4eec\u5c06\u5b66\u4e60 SSM \u65f6\u505a\u7684\u4e09\u5927\u6846\u67b6\u6574\u5408\u7684\u6848\u4f8b\u7528 SpringBoot \u6765\u5b9e\u73b0\u4e00\u4e0b\u3002\u6211\u4eec\u5b8c\u6210\u8fd9\u4e2a\u6848\u4f8b\u57fa\u672c\u662f\u5c06\u4e4b\u524d\u505a\u7684\u62f7\u8d1d\u8fc7\u6765&#xff0c;\u4fee\u6539\u6210 SpringBoot \u7684\u5373\u53ef&#xff0c;\u4e3b\u8981\u4ece\u4ee5\u4e0b\u51e0\u90e8\u5206\u5b8c\u6210<\/p>\n<li>\n<p>pom.xml<\/p>\n<p>\u914d\u7f6e\u8d77\u6b65\u4f9d\u8d56&#xff0c;\u5fc5\u8981\u7684\u8d44\u6e90\u5750\u6807(druid)<\/p>\n<\/li>\n<li>\n<p>application.yml<\/p>\n<p>\u8bbe\u7f6e\u6570\u636e\u6e90\u3001\u7aef\u53e3\u7b49<\/p>\n<\/li>\n<li>\n<p>\u914d\u7f6e\u7c7b<\/p>\n<p>\u5168\u90e8\u5220\u9664<\/p>\n<\/li>\n<li>\n<p>dao<\/p>\n<p>\u8bbe\u7f6e&#064;Mapper<\/p>\n<\/li>\n<li>\n<p>\u6d4b\u8bd5\u7c7b<\/p>\n<\/li>\n<li>\n<p>\u9875\u9762<\/p>\n<p>\u653e\u7f6e\u5728resources\u76ee\u5f55\u4e0b\u7684static\u76ee\u5f55\u4e2d<\/p>\n<\/li>\n<h4>5.1 \u521b\u5efa\u5de5\u7a0b<\/h4>\n<p>\u521b\u5efa SpringBoot \u5de5\u7a0b&#xff0c;\u5728\u521b\u5efa\u5de5\u7a0b\u65f6\u9700\u8981\u52fe\u9009 web\u3001mysql\u3001mybatis&#xff0c;\u5de5\u7a0b\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04vcjsk20bbft.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u7531\u4e8e\u6211\u4eec\u5de5\u7a0b\u4e2d\u4f7f\u7528\u5230\u4e86 Druid &#xff0c;\u6240\u4ee5\u9700\u8981\u5bfc\u5165 Druid \u7684\u5750\u6807<\/p>\n<p><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>com.alibaba<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>groupId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>druid<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>artifactId<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n    <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span>1.1.16<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>version<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><br \/>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;\/<\/span>dependency<\/span><span class=\"token punctuation\">&gt;<\/span><\/span><\/p>\n<h4>5.2 \u4ee3\u7801\u62f7\u8d1d<\/h4>\n<p>\u5c06 springmvc_11_page \u5de5\u7a0b\u4e2d\u7684 java \u4ee3\u7801\u53ca\u6d4b\u8bd5\u4ee3\u7801\u8fde\u540c\u5305\u62f7\u8d1d\u5230 springboot_09_ssm \u5de5\u7a0b&#xff0c;\u6309\u7167\u4e0b\u56fe\u8fdb\u884c\u62f7\u8d1d<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04kgvlqihyrdb.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u9700\u8981\u4fee\u6539\u7684\u5185\u5bb9\u5982\u4e0b&#xff1a;<\/p>\n<ul>\n<li>\n<p>Springmvc_11_page \u4e2d config \u5305\u4e0b\u7684\u662f\u914d\u7f6e\u7c7b&#xff0c;\u800c SpringBoot \u5de5\u7a0b\u4e0d\u9700\u8981\u8fd9\u4e9b\u914d\u7f6e\u7c7b&#xff0c;\u6240\u4ee5\u8fd9\u4e9b\u53ef\u4ee5\u76f4\u63a5\u5220\u9664<\/p>\n<\/li>\n<li>\n<p>dao \u5305\u4e0b\u7684\u63a5\u53e3\u4e0a\u5728\u62f7\u8d1d\u5230 springboot_09-ssm \u5de5\u7a0b\u4e2d\u9700\u8981\u5728\u63a5\u53e3\u4e2d\u6dfb\u52a0 &#064;Mapper \u6ce8\u89e3<\/p>\n<\/li>\n<li>\n<p>BookServiceTest \u6d4b\u8bd5\u9700\u8981\u6539\u6210 SpringBoot \u6574\u5408 junit \u7684<\/p>\n<p> <span class=\"token annotation punctuation\">&#064;SpringBootTest<\/span><br \/>\n<span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">BookServiceTest<\/span> <span class=\"token punctuation\">{<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Autowired<\/span><br \/>\n    <span class=\"token keyword\">private<\/span> <span class=\"token class-name\">BookService<\/span> bookService<span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Test<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">testGetById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">Book<\/span> book <span class=\"token operator\">&#061;<\/span> bookService<span class=\"token punctuation\">.<\/span><span class=\"token function\">getById<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>book<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<p>    <span class=\"token annotation punctuation\">&#064;Test<\/span><br \/>\n    <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">testGetAll<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token class-name\">List<\/span><span class=\"token generics\"><span class=\"token punctuation\">&lt;<\/span><span class=\"token class-name\">Book<\/span><span class=\"token punctuation\">&gt;<\/span><\/span> all <span class=\"token operator\">&#061;<\/span> bookService<span class=\"token punctuation\">.<\/span><span class=\"token function\">getAll<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span>all<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span>\n <\/li>\n<\/ul>\n<h4>5.3 \u914d\u7f6e\u6587\u4ef6<\/h4>\n<p>\u5728 application.yml \u914d\u7f6e\u6587\u4ef6\u4e2d\u9700\u8981\u914d\u7f6e\u5982\u4e0b\u5185\u5bb9<\/p>\n<ul>\n<li>\u670d\u52a1\u7684\u7aef\u53e3\u53f7<\/li>\n<li>\u8fde\u63a5\u6570\u636e\u5e93\u7684\u4fe1\u606f<\/li>\n<li>\u6570\u636e\u6e90<\/li>\n<\/ul>\n<p><span class=\"token key atrule\">server<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">port<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">80<\/span><\/p>\n<p><span class=\"token key atrule\">spring<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">datasource<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">type<\/span><span class=\"token punctuation\">:<\/span> com.alibaba.druid.pool.DruidDataSource<br \/>\n    <span class=\"token key atrule\">driver-class-name<\/span><span class=\"token punctuation\">:<\/span> com.mysql.cj.jdbc.Driver<br \/>\n    <span class=\"token key atrule\">url<\/span><span class=\"token punctuation\">:<\/span> jdbc<span class=\"token punctuation\">:<\/span>mysql<span class=\"token punctuation\">:<\/span>\/\/localhost<span class=\"token punctuation\">:<\/span>3306\/ssm_db <span class=\"token comment\">#?servierTimezone&#061;UTC<\/span><br \/>\n    <span class=\"token key atrule\">username<\/span><span class=\"token punctuation\">:<\/span> root<br \/>\n    <span class=\"token key atrule\">password<\/span><span class=\"token punctuation\">:<\/span> root<\/p>\n<h4>5.4 \u9759\u6001\u8d44\u6e90<\/h4>\n<p>\u5728 SpringBoot \u7a0b\u5e8f\u4e2d\u662f\u6ca1\u6709 webapp \u76ee\u5f55\u7684&#xff0c;\u90a3\u4e48\u5728 SpringBoot \u7a0b\u5e8f\u4e2d\u9759\u6001\u8d44\u6e90\u9700\u8981\u653e\u5728\u4ec0\u4e48\u4f4d\u7f6e\u5462&#xff1f;<\/p>\n<p>\u9759\u6001\u8d44\u6e90\u9700\u8981\u653e\u5728 resources \u4e0b\u7684 static \u4e0b&#xff0c;\u5982\u4e0b\u56fe\u6240\u793a<\/p>\n<p><img decoding=\"async\" src=\"2026-03-04tqzecsndy5z.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u76ee\u5f55 SpringBoot1. SpringBoot\u7b80\u4ecb1.1 SpringBoot\u5feb\u901f\u5165\u95e81.1.1 \u5f00\u53d1\u6b65\u9aa41.1.1.1 \u521b\u5efa\u65b0\u6a21\u57571.1.1.2 \u521b\u5efa Controller1.1.1.3 \u542f\u52a8\u670d\u52a1\u56681.1.1.4 \u8fdb\u884c\u6d4b\u8bd5 1.1.2 \u5bf9\u6bd41.1.3 \u5b98\u7f51\u6784\u5efa\u5de5\u7a0b1.1.3.1 \u8fdb\u5165SpringBoot\u5b98\u7f511.1.3.2 \u9009\u62e9\u4f9d\u8d561.1.3.3 \u751f\u6210\u5de5\u7a0b 1.1.4 SpringBoot\u5de5\u7a0b\u5feb\u901f\u542f\u52a81.1.4.1 \u95ee\u9898\u5bfc\u51651.1.4.2 \u6253\u53051.1.4.3 \u542f\u52a8 <\/p>\n","protected":false},"author":2,"featured_media":80129,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[99,1769,98],"topic":[],"class_list":["post-80149","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-java","tag-mybatis","tag-spring-boot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u6846\u67b6-05SpringBoot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/80149.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6846\u67b6-05SpringBoot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u76ee\u5f55 SpringBoot1. SpringBoot\u7b80\u4ecb1.1 SpringBoot\u5feb\u901f\u5165\u95e81.1.1 \u5f00\u53d1\u6b65\u9aa41.1.1.1 \u521b\u5efa\u65b0\u6a21\u57571.1.1.2 \u521b\u5efa Controller1.1.1.3 \u542f\u52a8\u670d\u52a1\u56681.1.1.4 \u8fdb\u884c\u6d4b\u8bd5 1.1.2 \u5bf9\u6bd41.1.3 \u5b98\u7f51\u6784\u5efa\u5de5\u7a0b1.1.3.1 \u8fdb\u5165SpringBoot\u5b98\u7f511.1.3.2 \u9009\u62e9\u4f9d\u8d561.1.3.3 \u751f\u6210\u5de5\u7a0b 1.1.4 SpringBoot\u5de5\u7a0b\u5feb\u901f\u542f\u52a81.1.4.1 \u95ee\u9898\u5bfc\u51651.1.4.2 \u6253\u53051.1.4.3 \u542f\u52a8\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/80149.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-04T06:12:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061243-69a7cd5bcb238.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/80149.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/80149.html\",\"name\":\"\u6846\u67b6-05SpringBoot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-03-04T06:12:49+00:00\",\"dateModified\":\"2026-03-04T06:12:49+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/80149.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/80149.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/80149.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u6846\u67b6-05SpringBoot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u6846\u67b6-05SpringBoot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/80149.html","og_locale":"zh_CN","og_type":"article","og_title":"\u6846\u67b6-05SpringBoot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u76ee\u5f55 SpringBoot1. SpringBoot\u7b80\u4ecb1.1 SpringBoot\u5feb\u901f\u5165\u95e81.1.1 \u5f00\u53d1\u6b65\u9aa41.1.1.1 \u521b\u5efa\u65b0\u6a21\u57571.1.1.2 \u521b\u5efa Controller1.1.1.3 \u542f\u52a8\u670d\u52a1\u56681.1.1.4 \u8fdb\u884c\u6d4b\u8bd5 1.1.2 \u5bf9\u6bd41.1.3 \u5b98\u7f51\u6784\u5efa\u5de5\u7a0b1.1.3.1 \u8fdb\u5165SpringBoot\u5b98\u7f511.1.3.2 \u9009\u62e9\u4f9d\u8d561.1.3.3 \u751f\u6210\u5de5\u7a0b 1.1.4 SpringBoot\u5de5\u7a0b\u5feb\u901f\u542f\u52a81.1.4.1 \u95ee\u9898\u5bfc\u51651.1.4.2 \u6253\u53051.1.4.3 \u542f\u52a8","og_url":"https:\/\/www.wsisp.com\/helps\/80149.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-03-04T06:12:49+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/03\/20260304061243-69a7cd5bcb238.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"13 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/80149.html","url":"https:\/\/www.wsisp.com\/helps\/80149.html","name":"\u6846\u67b6-05SpringBoot - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-03-04T06:12:49+00:00","dateModified":"2026-03-04T06:12:49+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/80149.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/80149.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/80149.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u6846\u67b6-05SpringBoot"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/80149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=80149"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/80149\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/80129"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=80149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=80149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=80149"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=80149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}