{"id":51,"date":"2021-01-13T09:00:07","date_gmt":"2021-01-13T01:00:07","guid":{"rendered":"http:\/\/mengstudy.com\/?p=51"},"modified":"2021-01-15T09:00:43","modified_gmt":"2021-01-15T01:00:43","slug":"spring-boot%e5%9f%ba%e7%a1%80%e9%a1%b9%e7%9b%ae","status":"publish","type":"post","link":"https:\/\/fugary.com\/?p=51","title":{"rendered":"Spring Boot\u57fa\u7840\u9879\u76ee"},"content":{"rendered":"<h2>Spring Boot\u57fa\u7840\u9879\u76ee<\/h2>\n<h3>\u65b0\u5efa\u7edf\u4e00Spring Boot\u7684\u7236\u5de5\u7a0b<\/h3>\n<p>\u65b0\u5efa\u4e00\u4e2a\u901a\u7528\u7684\u7236\u5de5\u7a0b\uff0c\u4e3apom\u5de5\u7a0b\uff0c\u7ee7\u627f\u4e8espring-boot-starter-parent\uff0c\u53ef\u4ee5\u7ef4\u62a4\u4e00\u4e9b\u81ea\u5b9a\u4e49\u7684\u7248\u672c\u3001\u63d2\u4ef6\u7b49\u4fe1\u606f\u7b49\u3002<\/p>\n<p>\u7136\u540e\u53ef\u4ee5\u518d\u5728\u4e0b\u7ea7\u65b0\u5efa\u5b50\u9879\u76ee\u7684pom\u6216\u8005jar\u5de5\u7a0b\u3002<\/p>\n<p>\u4e0b\u9762\u4ee5\u7b80\u5355\u7684\u6570\u636e\u5e93\u8bbf\u95ee\u5de5\u7a0b\u4e3a\u4f8b\uff0c\u4f1a\u4f7f\u7528\u5230lombok\u3001mybatis-plus\uff0c\u9700\u8981\u5f15\u5165\u76f8\u5173\u7684\u7248\u672c\u914d\u7f6e\u3002<\/p>\n<p>\u8be6\u7ec6\u6e90\u7801\u5730\u5740\uff1a<a href=\"https:\/\/github.com\/fugary\/meng-study\/tree\/master\/simple-boot-parent\">https:\/\/github.com\/fugary\/meng-study\/tree\/master\/simple-boot-parent<\/a><\/p>\n<h4>\u7236\u5de5\u7a0bPOM<\/h4>\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;project xmlns=&quot;http:\/\/maven.apache.org\/POM\/4.0.0&quot; xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n         xsi:schemaLocation=&quot;http:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n    &lt;groupId&gt;com.mengstudy&lt;\/groupId&gt;\n    &lt;artifactId&gt;simple-boot-parent&lt;\/artifactId&gt;\n    &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;packaging&gt;pom&lt;\/packaging&gt;\n    &lt;modules&gt;\n        &lt;!--spring-boot\u6570\u636e\u5e93\u8bbf\u95eedemo\uff0c\u540e\u9762\u751f\u6210\u5b50\u9879\u76ee\u7684\u65f6\u5019\u6dfb\u52a0--&gt;\n        &lt;module&gt;simple-boot-demo&lt;\/module&gt;\n        &lt;!--spring-boot\u4e8b\u52a1\u76f8\u5173demo\uff0c\u540e\u9762\u4f7f\u7528\u5230\u518d\u6dfb\u52a0--&gt;\n        &lt;module&gt;simple-boot-transaction-parent&lt;\/module&gt;\n    &lt;\/modules&gt;\n    &lt;name&gt;simple-boot-parent&lt;\/name&gt;\n    &lt;description&gt;Simple parent project for Spring Boot&lt;\/description&gt;\n    &lt;parent&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n        &lt;version&gt;2.2.5.RELEASE&lt;\/version&gt;\n        &lt;relativePath\/&gt; &lt;!-- lookup parent from repository \u4ecemaven\u4ed3\u5e93\u67e5\u627e\u7236\u5de5\u7a0b--&gt;\n    &lt;\/parent&gt;\n    &lt;properties&gt;\n        &lt;java.version&gt;1.8&lt;\/java.version&gt;\n        &lt;mybatis-spring-boot-starter.version&gt;2.1.2&lt;\/mybatis-spring-boot-starter.version&gt;\n        &lt;mybatis-plus-boot-starter.version&gt;3.3.1&lt;\/mybatis-plus-boot-starter.version&gt;\n    &lt;\/properties&gt;\n    &lt;dependencyManagement&gt;\n        &lt;dependencies&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;org.mybatis.spring.boot&lt;\/groupId&gt;\n                &lt;artifactId&gt;mybatis-spring-boot-starter&lt;\/artifactId&gt;\n                &lt;version&gt;${mybatis-spring-boot-starter.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;com.baomidou&lt;\/groupId&gt;\n                &lt;artifactId&gt;mybatis-plus-boot-starter&lt;\/artifactId&gt;\n                &lt;version&gt;${mybatis-plus-boot-starter.version}&lt;\/version&gt;\n            &lt;\/dependency&gt;\n        &lt;\/dependencies&gt;\n    &lt;\/dependencyManagement&gt;\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n            &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n&lt;\/project&gt;<\/code><\/pre>\n<h4>\u7ee7\u627fSpring Boot\u9879\u76ee<\/h4>\n<p>\u901a\u5e38Spring Boot\u9879\u76ee\u9700\u8981\u7ee7\u627fspring-boot-starter-parent\u9879\u76ee\uff0c\u91cc\u9762\u5df2\u7ecf\u5b9a\u4e49\u5f88\u591a\u5e38\u7528\u7684\u4f9d\u8d56\u5e93\u7684\u7248\u672c\uff0c\u7531\u4e8espring-boot-starter-parent\u4f5c\u4e3a\u7236\u7ea7\u9879\u76ee\u662f\u5728\u5916\u90e8\u4ed3\u5e93\uff0c\u56e0\u6b64\u9700\u8981\u914d\u7f6erelativePath\u3002<\/p>\n<pre><code class=\"language-xml\">&lt;parent&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n    &lt;version&gt;2.2.5.RELEASE&lt;\/version&gt;\n    &lt;relativePath\/&gt; &lt;!-- lookup parent from repository \u4ecemaven\u4ed3\u5e93\u67e5\u627e\u7236\u5de5\u7a0b--&gt;\n&lt;\/parent&gt;<\/code><\/pre>\n<p><strong>\u5173\u4e8erelativePath\u8bf4\u660e\uff1a<\/strong><\/p>\n<ol>\n<li>relativePath\u662f\u6307\u5b9a\u7236\u5de5\u7a0b\u7684\u5730\u5740\uff0c\u9ed8\u8ba4\u4e3a<code>..\/<\/code>\uff0c\u5373\u4e0a\u7ea7\u76ee\u5f55\u3002<\/li>\n<li>\u5916\u90e8\u9879\u76ee\u4f5c\u4e3a\u7236\u5de5\u7a0b\uff0c\u914d\u7f6e\u4e3a\u7a7a\u8282\u70b9<code>&lt;relativePath\/&gt;<\/code>\u3002<\/li>\n<li>\u5982\u679c\u5b50\u5de5\u7a0b\u5e76\u4e0d\u5728\u7236\u5de5\u7a0b\u4e2d\uff0c\u9700\u8981\u5728\u5b50\u5de5\u7a0b\u4e2d\u6307\u5b9a\u76f8\u5bf9\u8def\u5f84\uff0c\u5982\uff1a<code>&lt;relativePath&gt;..\/path-to-parent&lt;\/relativePath&gt;<\/code>\u3002<\/li>\n<\/ol>\n<h3>\u65b0\u5efa\u5b50\u7ea7\u5de5\u7a0b<\/h3>\n<p>\u4e00\u822c\u6700\u5916\u5c42\u7684\u7236\u5de5\u7a0b\u53ef\u4ee5\u7ba1\u7406\u4e00\u4e9b\u7248\u672c\uff0c\u63d2\u4ef6\u7b49\uff0c\u53ef\u4ee5\u5728\u6b64\u57fa\u7840\u4e0a\u65b0\u5efaspring boot jar\u5de5\u7a0b\u4e86\uff0c\u5f53\u7136\u5b50\u9879\u76ee\u5185\u90e8\u7684\u5de5\u7a0b\u53ef\u4ee5\u6709\u81ea\u5df1\u7684\u7236\u7ea7\u5de5\u7a0b\uff0c\u81ea\u5b9a\u4e49\u4e00\u4e9b\u901a\u7528\u7684\u914d\u7f6e\u3002<\/p>\n<h4>\u65b0\u5efa\u5b50\u5de5\u7a0b<\/h4>\n<p>\u53ef\u4ee5\u7528idea\u5411\u5bfc\u751f\u6210\u5b50\u5de5\u7a0b\uff0c\u6309\u7167\u5411\u5bfc\u65b0\u5efa\u5373\u53ef\uff0c\u4f46\u662f\u6709\u65f6\u5019\u7f51\u7edc\u6709\u95ee\u9898\uff0c\u53ef\u80fd\u4f1a\u5931\u8d25\u3002\u5b50\u9879\u76ee\u540d\u79f0\uff1asimple-boot-demo\uff0c\u540e\u7eed\u4f1a\u6dfb\u52a0mybatis-plus\u63d0\u4f9b\u6570\u636e\u5e93\u8bbf\u95ee\u3002<\/p>\n<p><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/git.mengqingpo.com:8888\/fugary\/blogpic1\/-\/raw\/master\/images\/20200407172453.png'><img src=\"https:\/\/git.mengqingpo.com:8888\/fugary\/blogpic1\/-\/raw\/master\/images\/20200407172453.png\" alt=\"\" \/><\/div><\/p>\n<p><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/git.mengqingpo.com:8888\/fugary\/blogpic1\/-\/raw\/master\/images\/20200407184004.png'><img src=\"https:\/\/git.mengqingpo.com:8888\/fugary\/blogpic1\/-\/raw\/master\/images\/20200407184004.png\" alt=\"\" \/><\/div><\/p>\n<p>\u4e5f\u53ef\u4ee5\u4f7f\u7528https:\/\/start.spring.io\/\u7f51\u7ad9\u6765\u751f\u6210\u5b50\u9879\u76ee\uff08\u6700\u4e3b\u8981\u4f9d\u8d56\u662fSpring Web\uff09\uff1a<\/p>\n<p><div class='fancybox-wrapper' data-fancybox='post-images' href='https:\/\/git.mengqingpo.com:8888\/fugary\/blogpic1\/-\/raw\/master\/images\/20200407172457.png'><img src=\"https:\/\/git.mengqingpo.com:8888\/fugary\/blogpic1\/-\/raw\/master\/images\/20200407172457.png\" alt=\"\" \/><\/div><\/p>\n<p><strong>\u751f\u6210\u540e\u4fee\u6539\u8bf4\u660e\uff1a<\/strong><\/p>\n<ol>\n<li>\u4fee\u6539\u751f\u6210\u9879\u76ee\u7684\u7236\u5de5\u7a0b\u6307\u5411\u6211\u4eec\u81ea\u5b9a\u4e49\u7684\u7236\u5de5\u7a0b\u3002<\/li>\n<li>\u5982\u679c\u518d\u7f51\u7ad9\u751f\u6210\u7684\u5de5\u7a0b\uff0c\u9700\u8981\u5728\u7236\u7ea7\u5de5\u7a0b\u7684pom.xml\u4e2d\u628a\u5b50\u5de5\u7a0bmodule\u914d\u7f6e\u8fdb\u53bb\uff1a<code>&lt;module&gt;simple-boot-demo&lt;\/module&gt;<\/code><\/li>\n<li>\u4e00\u822c\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u90fd\u5b89\u88c5\u6709\u81ea\u5df1maven\uff0c\u4e0d\u9700\u8981\u5d4c\u5165\u7684maven wrapper\uff0c\u53ef\u4ee5\u5220\u9664mvnw\u76f8\u5173\u6587\u4ef6\u3002<\/li>\n<li>\u5982\u679c\u6709\u5199\u6b7b\u7684\u4f9d\u8d56\u7248\u672c\uff0c\u5efa\u8bae\u79fb\u5230\u7236\u7ea7\u5de5\u7a0b\u7edf\u4e00\u7ba1\u7406\u3002<\/li>\n<li>\u5efa\u8bae\u4fee\u6539application.properties\u4e3aapplication.yml\uff0cyml\u683c\u5f0f\u662f\u66f4\u597d\u7528\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u5c24\u5176\u662f\u5bf9\u8c61\u3001\u6570\u7ec4\u3001\u952e\u503c\u5bf9\u7b49\u652f\u6301\u6bd4\u8f83\u597d\u3002<\/li>\n<\/ol>\n<p>pom.xml\u5b9e\u4f8b\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;project xmlns=&quot;http:\/\/maven.apache.org\/POM\/4.0.0&quot; xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n    xsi:schemaLocation=&quot;http:\/\/maven.apache.org\/POM\/4.0.0 https:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n    &lt;parent&gt;\n        &lt;groupId&gt;com.mengstudy&lt;\/groupId&gt;\n        &lt;artifactId&gt;simple-boot-parent&lt;\/artifactId&gt;\n        &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;\/parent&gt;\n    &lt;groupId&gt;com.mengstudy&lt;\/groupId&gt;\n    &lt;artifactId&gt;simple-boot-demo&lt;\/artifactId&gt;\n    &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;name&gt;simple-boot-demo&lt;\/name&gt;\n    &lt;description&gt;Demo project for simple Spring Boot&lt;\/description&gt;\n    &lt;properties&gt;\n        &lt;java.version&gt;1.8&lt;\/java.version&gt;\n    &lt;\/properties&gt;\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;!--\u901a\u5e38\u6700\u57fa\u7840\u53ef\u8fd0\u884c\u662f\u9009\u62e9spring-boot-starter-web\uff0c\u4e0b\u9762\u662f\u53ef\u9009\u914d\u7f6e--&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.mybatis.spring.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;mybatis-spring-boot-starter&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n            &lt;scope&gt;runtime&lt;\/scope&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;com.h2database&lt;\/groupId&gt;\n            &lt;artifactId&gt;h2&lt;\/artifactId&gt;\n            &lt;scope&gt;runtime&lt;\/scope&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-configuration-processor&lt;\/artifactId&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\n            &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\n            &lt;optional&gt;true&lt;\/optional&gt;\n        &lt;\/dependency&gt;\n        &lt;!--\u6d4b\u8bd5\u76f8\u5173--&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\n            &lt;scope&gt;test&lt;\/scope&gt;\n            &lt;exclusions&gt;\n                &lt;exclusion&gt;\n                    &lt;groupId&gt;org.junit.vintage&lt;\/groupId&gt;\n                    &lt;artifactId&gt;junit-vintage-engine&lt;\/artifactId&gt;\n                &lt;\/exclusion&gt;\n            &lt;\/exclusions&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n    &lt;build&gt;\n        &lt;plugins&gt;\n            &lt;plugin&gt;\n                &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;\n            &lt;\/plugin&gt;\n        &lt;\/plugins&gt;\n    &lt;\/build&gt;\n&lt;\/project&gt;<\/code><\/pre>\n<h4>\u7b80\u5355\u6d4b\u8bd5\u5b50\u9879\u76ee<\/h4>\n<p>\u4fee\u6539\u542f\u52a8\u6587\u4ef6SimpleBootDemoApplication\uff0c\u7528\u5411\u5bfc\u751f\u6210\u9879\u76ee\u7684\u65f6\u5019\u8fd9\u4e2a\u6587\u4ef6\u4f1a\u81ea\u52a8\u751f\u6210\u3002\u6dfb\u52a0@RestController\uff0c\u7136\u540e\u6dfb\u52a0\u6ce8\u89e3\u65b9\u6cd5\u3002<\/p>\n<p><strong>\u542f\u52a8\u9879\u76ee\uff1a<\/strong>\u5728idea\u4e2d\u76f4\u63a5\u53f3\u952e\u6b64\u6587\u4ef6\uff0c\u5f39\u51fa\u83dc\u5355\u4e2d\u9009Debug\u6216\u8005Run\u5373\u53ef\uff0c\u4e5f\u53ef\u4ee5\u7528maven\u547d\u4ee4<code>mvn spring-boot:run<\/code>\u542f\u52a8\uff0c\u6b64\u547d\u4ee4\u4f7f\u7528\u4e86maven\u63d2\u4ef6<code>spring-boot-maven-plugin<\/code>\uff0c\u6b64\u63d2\u4ef6\u5728<code>pom.xml<\/code>\u4e2d\u5df2\u7ecf\u914d\u7f6e\u597d\uff1a<\/p>\n<pre><code class=\"language-java\">@RestController\n@SpringBootApplication\npublic class SimpleBootDemoApplication {\n\n   public static void main(String[] args) {\n      SpringApplication.run(SimpleBootDemoApplication.class, args);\n   }\n\n   @RequestMapping(&quot;\/hello&quot;)\n   public String hello(){\n      return &quot;Hello World!&quot;;\n   }\n}<\/code><\/pre>\n<p>\u8bbf\u95eehttp:\/\/localhost:8080\/hello\uff0c\u53ef\u4ee5\u770b\u5230\u6709<code>Hello World!<\/code>\u8f93\u51fa\uff0c\u5373\u8868\u793a\u6210\u529f\u4e86\u3002<\/p>\n<p>\u53e6\u5916\u53ef\u4ee5\u5f15\u5165<code>spring-boot-starter-actuator<\/code>\u63d0\u4f9b\u4e00\u4e9b\u7edf\u8ba1\u72b6\u6001\u4fe1\u606f\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-starter-actuator&lt;\/artifactId&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n<p>actuator\u4fe1\u606f\u8f93\u51fa\uff0c\u5730\u5740\uff1a<a href=\"http:\/\/localhost:8080\/actuator\uff0cjson\u8fd4\u56de\u91cc\u9762\u4f1a\u663e\u793a\u4e00\u4e9b\u53ef\u4ee5\u8bbf\u95ee\u7684\u5730\u5740\">http:\/\/localhost:8080\/actuator\uff0cjson\u8fd4\u56de\u91cc\u9762\u4f1a\u663e\u793a\u4e00\u4e9b\u53ef\u4ee5\u8bbf\u95ee\u7684\u5730\u5740<\/a>\uff1a<\/p>\n<pre><code class=\"language-json\">{\n  &quot;_links&quot;: {\n    &quot;self&quot;: {\n      &quot;href&quot;: &quot;http:\/\/localhost:8080\/actuator&quot;,\n      &quot;templated&quot;: false\n    },\n    &quot;health&quot;: {\n      &quot;href&quot;: &quot;http:\/\/localhost:8080\/actuator\/health&quot;,\n      &quot;templated&quot;: false\n    },\n    &quot;health-path&quot;: {\n      &quot;href&quot;: &quot;http:\/\/localhost:8080\/actuator\/health\/{*path}&quot;,\n      &quot;templated&quot;: true\n    },\n    &quot;info&quot;: {\n      &quot;href&quot;: &quot;http:\/\/localhost:8080\/actuator\/info&quot;,\n      &quot;templated&quot;: false\n    }\n  }\n}<\/code><\/pre>\n<h4>\u914d\u7f6eapplication.yml<\/h4>\n<p>Spring Boot\u9879\u76ee\u4f7f\u7528\u6b64\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u914d\u7f6eSpringBoot\u9879\u76ee\u4fe1\u606f\uff0c\u5982\u540d\u79f0\u3001\u7aef\u53e3\uff0c\u65e5\u5fd7\u7b49\u3002<\/p>\n<p>YAML\u683c\u5f0f\u4e2d\u6587\u53c2\u8003\uff1a<a href=\"http:\/\/www.ruanyifeng.com\/blog\/2016\/07\/yaml.html\">http:\/\/www.ruanyifeng.com\/blog\/2016\/07\/yaml.html<\/a><\/p>\n<p>\u6b64\u6587\u4ef6\u9ed8\u8ba4\u4e3a\u7a7a\u6587\u4ef6\uff0c\u9ed8\u8ba4\u4e0d\u914d\u7f6e\u7aef\u53e3\u7684\u8bdd\u662f8080\u7aef\u53e3\u3002<\/p>\n<p>\u7b80\u5355\u914d\u7f6e\uff1a<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 8080\nspring:\n  application:\n    name: simple-boot-demo<\/code><\/pre>\n<h3>\u6dfb\u52a0\u6570\u636e\u5e93\u8bbf\u95ee<\/h3>\n<p>\u76ee\u524d\u53c2\u8003mybatis-plus\u63d0\u4f9b\u57fa\u672c\u6570\u636e\u5e93\u8bbf\u95ee\u4f8b\u5b50\uff0c\u7a0d\u4f5c\u4fee\u6539\u4f7f\u7528\u3002<\/p>\n<p>\u53c2\u8003\u6587\u6863\uff1a<a href=\"https:\/\/mp.baomidou.com\/guide\/quick-start.html\">https:\/\/mp.baomidou.com\/guide\/quick-start.html<\/a><\/p>\n<h4>\u57fa\u672c\u6570\u636e\u5b9a\u4e49<\/h4>\n<p>db\/schema-h2.sql<\/p>\n<pre><code class=\"language-sql\">DROP TABLE IF EXISTS user;\n\nCREATE TABLE user\n(\n   id BIGINT(20) NOT NULL COMMENT &#039;\u4e3b\u952eID&#039;,\n   name VARCHAR(30) NULL DEFAULT NULL COMMENT &#039;\u59d3\u540d&#039;,\n   birth timestamp NULL DEFAULT NULL COMMENT &#039;\u751f\u65e5&#039;,\n   email VARCHAR(200) NULL DEFAULT NULL COMMENT &#039;\u90ae\u7bb1&#039;,\n   PRIMARY KEY (id)\n);<\/code><\/pre>\n<p>db\/data-h2.sql<\/p>\n<pre><code class=\"language-sql\">DELETE FROM user;\n\nINSERT INTO user (id, name, birth, email) VALUES\n(1, &#039;Gary&#039;, &#039;2000-01-01&#039;, &#039;gary@mengstudy.com&#039;),\n(2, &#039;Jerry&#039;, &#039;2000-01-02&#039;, &#039;jerry@mengstudy.com&#039;),\n(3, &#039;Tom&#039;, &#039;2000-01-03&#039;, &#039;tom@mengstudy.com&#039;)<\/code><\/pre>\n<h4>\u6dfb\u52a0Mybatis-Plus\u914d\u7f6e<\/h4>\n<p>\u7236\u7ea7\u914d\u7f6e\u4e0a\u7248\u672c\u53f7\u548c\u4f9d\u8d56\u7ba1\u7406<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\n    &lt;groupId&gt;com.baomidou&lt;\/groupId&gt;\n    &lt;artifactId&gt;mybatis-plus-boot-starter&lt;\/artifactId&gt;\n    &lt;!--\u76ee\u524dproperties\u4e2d\u914d\u7f6emybatis-plus-boot-starter.version\u4e3a3.3.1--&gt;\n    &lt;version&gt;${mybatis-plus-boot-starter.version}&lt;\/version&gt; \n&lt;\/dependency&gt;<\/code><\/pre>\n<p>\u5b50\u9879\u76ee\u5f15\u5165mybatis-plus\uff0c\u4ee5\u53cah2\u5185\u5d4c\u6570\u636e\u5e93\uff1a<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\n   &lt;groupId&gt;com.baomidou&lt;\/groupId&gt;\n   &lt;artifactId&gt;mybatis-plus-boot-starter&lt;\/artifactId&gt;\n&lt;\/dependency&gt;\n&lt;dependency&gt;\n   &lt;groupId&gt;com.h2database&lt;\/groupId&gt;\n   &lt;artifactId&gt;h2&lt;\/artifactId&gt;\n   &lt;scope&gt;runtime&lt;\/scope&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n<h4>\u6dfb\u52a0\u6570\u636e\u5e93\u914d\u7f6e<\/h4>\n<p>\u5728application.yml\u4e2d\u6dfb\u52a0\u6570\u636e\u5e93\u76f8\u5173\u914d\u7f6e\uff1a<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 8080\nspring:\n  application:\n    name: simple-boot-demo\n  datasource:\n    driver-class-name: org.h2.Driver\n    schema: classpath:db\/schema-h2.sql\n    data: classpath:db\/data-h2.sql\n    url: jdbc:h2:mem:simpledb\n    username: root\n    password: 123456\n  h2:\n    console:\n      enabled: false<\/code><\/pre>\n<p><strong>\u914d\u7f6e\u8bf4\u660e\uff1a<\/strong><\/p>\n<ol>\n<li>\u7531\u4e8e\u4f7f\u7528\u5d4c\u5165\u7684\u5185\u5b58H2\u6570\u636e\u5e93\uff0c\u7528\u6237\u3001\u5bc6\u7801\u3001\u6570\u636e\u5e93\u540d\u79f0\u7b49\u90fd\u53ef\u4ee5\u968f\u4fbf\u5199\uff0c\u542f\u52a8\u7684\u65f6\u5019\u751f\u6210\u3002<\/li>\n<li>\u542f\u52a8\u65f6\u4f1a\u6839\u636eschema\u548cdata\u914d\u7f6e\u7684sql\uff0c\u5efa\u7acb\u8868\u7ed3\u6784\u548c\u63d2\u5165\u6570\u636e\u3002<\/li>\n<li>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f1a\u6709h2\u7684\u63a7\u5236\u53f0\uff0c\u542f\u52a8\u9879\u76ee\u540e\u53ef\u4ee5\u901a\u8fc7\u5b83\u7ba1\u7406\u6570\u636e\u5e93\uff0c\u5730\u5740\u5982\u4e0b\uff1a<a href=\"http:\/\/localhost:8080\/h2-console\">http:\/\/localhost:8080\/h2-console<\/a><\/li>\n<li>\u901a\u8fc7<code>spring.h2.console.enabled=true<\/code>\u63a7\u5236\u662f\u5426\u5f00\u542f\u63a7\u5236\u53f0\u3002<\/li>\n<li>\u53e6\u5916<code>spring.h2.console.settings.web-allow-others=true<\/code>\uff0c\u5f00\u542f\u540e\u63a7\u5236\u53f0\u53ef\u4ee5\u5728\u8fdc\u7a0b\u8bbf\u95ee\u3002<\/li>\n<\/ol>\n<h4>\u5b9e\u4f53\u548cMapper<\/h4>\n<p>\u76ee\u524d\u4f7f\u7528Mybatis-Plus\u7b80\u5316\u6d4b\u8bd5\uff0c\u6ca1\u6709\u7279\u6b8a\u5b9a\u5236\uff0c\u53ef\u4ee5\u4e0d\u7528xml\u6587\u4ef6\u3002<\/p>\n<p>User\u5b9e\u4f53\u7c7b\uff1a<\/p>\n<pre><code class=\"language-java\">@Data\npublic class User {\n    private Long id;\n    private String name;\n    private Date birth;\n    private String email;\n}<\/code><\/pre>\n<p>UserMapper\u7c7b\uff1a<\/p>\n<pre><code class=\"language-java\">public interface UserMapper extends BaseMapper&lt;User&gt; {\n}<\/code><\/pre>\n<h4>\u6570\u636e\u5e93\u8bbf\u95ee\u6d4b\u8bd5<\/h4>\n<p>\u7ed9<code>SimpleBootDemoApplication<\/code>\u6dfb\u52a0<code>MapperScan<\/code>\u626b\u63cf\u5305<code>@MapperScan(&quot;com.mengstudy.simple.boot.demo.mapper&quot;)<\/code><\/p>\n<p>\u5f15\u5165<code>UserMapper<\/code>\uff0c\u7136\u540e\u67e5\u8be2\u6d4b\u8bd5<\/p>\n<pre><code class=\"language-java\">@RestController\n@MapperScan(&quot;com.mengstudy.simple.boot.demo.mapper&quot;)\n@SpringBootApplication\npublic class SimpleBootDemoApplication {\n\n   @Autowired\n   private UserMapper userMapper;\n\n   public static void main(String[] args) {\n      SpringApplication.run(SimpleBootDemoApplication.class, args);\n   }\n\n   @RequestMapping(&quot;\/hello&quot;)\n   public String hello(){\n      return &quot;Hello World!&quot;;\n   }\n\n   @RequestMapping(&quot;\/users&quot;)\n   public List&lt;User&gt; users(){\n      return userMapper.selectList(null);\n   }\n\n}<\/code><\/pre>\n<p>\u542f\u52a8\u9879\u76ee\uff0c\u6d4b\u8bd5\u8bbf\u95ee\uff1a<a href=\"http:\/\/localhost:8080\/users\">http:\/\/localhost:8080\/users<\/a><\/p>\n<p>\u8f93\u51fa\uff1a<\/p>\n<pre><code class=\"language-json\">[{\n    &quot;id&quot;: 1,\n    &quot;name&quot;: &quot;Gary&quot;,\n    &quot;birth&quot;: &quot;1999-12-31T16:00:00.000+0000&quot;,\n    &quot;email&quot;: &quot;gary@mengstudy.com&quot;\n}, {\n    &quot;id&quot;: 2,\n    &quot;name&quot;: &quot;Jerry&quot;,\n    &quot;birth&quot;: &quot;2000-01-01T16:00:00.000+0000&quot;,\n    &quot;email&quot;: &quot;jerry@mengstudy.com&quot;\n}, {\n    &quot;id&quot;: 3,\n    &quot;name&quot;: &quot;Tom&quot;,\n    &quot;birth&quot;: &quot;2000-01-02T16:00:00.000+0000&quot;,\n    &quot;email&quot;: &quot;tom@mengstudy.com&quot;\n}]<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot\u57fa\u7840\u9879\u76ee \u65b0\u5efa\u7edf\u4e00Spring Boot\u7684\u7236\u5de5\u7a0b \u65b0\u5efa\u4e00\u4e2a\u901a\u7528\u7684\u7236\u5de5\u7a0b\uff0c\u4e3apom\u5de5\u7a0b\uff0c\u7ee7 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[11],"_links":{"self":[{"href":"https:\/\/fugary.com\/index.php?rest_route=\/wp\/v2\/posts\/51"}],"collection":[{"href":"https:\/\/fugary.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fugary.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fugary.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fugary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=51"}],"version-history":[{"count":1,"href":"https:\/\/fugary.com\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":102,"href":"https:\/\/fugary.com\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions\/102"}],"wp:attachment":[{"href":"https:\/\/fugary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fugary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fugary.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}