{"id":348,"date":"2022-04-15T16:46:23","date_gmt":"2022-04-15T08:46:23","guid":{"rendered":"https:\/\/blog.lijiajia.top\/?p=348"},"modified":"2026-06-19T21:34:53","modified_gmt":"2026-06-19T13:34:53","slug":"springcloud%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%9a%e5%be%ae%e6%9c%8d%e5%8a%a1%e4%bc%98%e7%bc%ba%e7%82%b9%e4%b8%89","status":"publish","type":"post","link":"https:\/\/blog.ttwow.top\/?p=348","title":{"rendered":"SpringCloud\u5b66\u4e60\u7b14\u8bb0\uff1aRest\u5fae\u670d\u52a1\u6784\u5efa-\u6848\u4f8b\u5de5\u7a0b\u6a21\u5757(\u4e09)"},"content":{"rendered":"<h2>\u603b\u4f53\u4ecb\u7ecd<\/h2>\n<h3>\u4ee5Dept\u90e8\u95e8\u6a21\u5757\u505a\u4e00\u4e2a\u5fae\u670d\u52a1\u901a\u7528\u6848\u4f8b<\/h3>\n<p>Consumer\u6d88\u8d39\u8005\uff08Client\uff09\u901a\u8fc7REST\u8c03\u7528Provider\u63d0\u4f9b\u8005\uff08Server\uff09\u63d0\u4f9b\u7684\u670d\u52a1<\/p>\n<h3>\u4e00\u4e2a\u7b80\u5355\u7684Maven\u6a21\u5757\u7ed3\u6784\u662f\u8fd9\u6837\u7684\uff1a<\/h3>\n<pre><code class=\"language-java\">\n\u4e00\u4e2a\u7b80\u5355\u7684Maven\u6a21\u5757\u7ed3\u6784\u662f\u8fd9\u6837\u7684\uff1a\n---- app-parent      \u4e00\u4e2a\u7236\u9879\u76ee(app-parent)\u805a\u5408\u5f88\u591a\u5b50\u9879\u76ee(app-util,app-dao,app-service,app-web)\n      |---- pom.xml (pom)\n      |\n      |-------- app-util\n      | |-------- pom.xml (jar)\n      |\n      |-------- app-dao\n      | |-------- pom.xml (jar)\n      |\n      |-------- app-service\n      | |-------- pom.xml (jar)\n      |\n      |-------- app-web\n        |-------- pom.xml (war)\n<\/code><\/pre>\n<p>MicroServiceCloud\u7236\u5de5\u7a0b\uff08Project\uff09\u4e0b\u521d\u6b21\u5e26\u77403\u4e2a\u5b50\u6a21\u5757\uff08Module\uff09<br \/>\nmicroservicecloud-api \u5c01\u88c5\u7684\u6574\u4f53entity\/\u63a5\u53e3\/\u516c\u5171\u914d\u7f6e\u7b49<br \/>\nmicroservicecloud-provider-dept-8001 \u5fae\u670d\u52a1\u843d\u5730\u7684\u670d\u52a1\u63d0\u4f9b\u8005<br \/>\nmicroservicecloud-consumer-dept-80 \u5fae\u670d\u52a1\u8c03\u7528\u7684\u5ba2\u6237\u7aef\u4f7f\u7528<\/p>\n<h3>80\u7aef\u53e3<\/h3>\n<p>80\u7aef\u53e3\u662f\u4e3aHTTP(HyperText Transport Protocol)\u5373\u8d85\u6587\u672c\u4f20\u8f93\u534f\u8bae\u5f00\u653e\u7684<br \/>\n\u6b64\u4e3a\u4e0a\u7f51\u51b2\u6d6a\u4f7f\u7528\u6b21\u6570\u6700\u591a\u7684\u534f\u8bae\uff0c\u4e3b\u8981\u7528\u4e8eWWW(World Wide Web)\u5373\u4e07\u7ef4\u7f51\u4f20\u8f93\u4fe1\u606f\u7684\u534f\u8bae\u3002<\/p>\n<p>\u53ef\u4ee5\u901a\u8fc7HTTP\u5730\u5740(\u5373\u5e38\u8bf4\u7684&quot;\u7f51\u5740&quot;)\u52a0&quot;:80&quot;\u6765\u8bbf\u95ee\u7f51\u7ad9\uff0c<\/p>\n<p>\u56e0\u4e3a\u6d4f\u89c8\u7f51\u9875\u670d\u52a1\u9ed8\u8ba4\u7684\u7aef\u53e3\u53f7\u90fd\u662f80\uff0c\u56e0\u6b64\u53ea\u9700\u8f93\u5165\u7f51\u5740\u5373\u53ef\uff0c\u4e0d\u7528\u8f93\u5165&quot;:80&quot;\u4e86\u3002<\/p>\n<h3>RestTemplate\u4ecb\u7ecd<\/h3>\n<p>RestTemplate\u63d0\u4f9b\u4e86\u591a\u79cd\u4fbf\u6377\u8bbf\u95ee\u8fdc\u7a0bHttp\u670d\u52a1\u7684\u65b9\u6cd5\uff0c<br \/>\n\u662f\u4e00\u79cd\u7b80\u5355\u4fbf\u6377\u7684\u8bbf\u95eerestful\u670d\u52a1\u6a21\u677f\u7c7b\uff0c\u662fSpring\u63d0\u4f9b\u7684\u7528\u4e8e\u8bbf\u95eeRest\u670d\u52a1\u7684\u5ba2\u6237\u7aef\u6a21\u677f\u5de5\u5177\u96c6<\/p>\n<p>\u5b98\u7f51\u5730\u5740<\/p>\n<p><a href=\"https:\/\/docs.spring.io\/spring-framework\/docs\/4.3.7.RELEASE\/javadoc-api\/org\/springframework\/web\/client\/RestTemplate.html\">https:\/\/docs.spring.io\/spring-framework\/docs\/4.3.7.RELEASE\/javadoc-api\/org\/springframework\/web\/client\/RestTemplate.html<\/a><\/p>\n<p>\u4f7f\u7528<br \/>\n\u4f7f\u7528restTemplate\u8bbf\u95eerestful\u63a5\u53e3\u975e\u5e38\u7684\u7b80\u5355\u7c97\u66b4\u65e0\u8111\u3002<br \/>\n(url, requestMap, ResponseBean.class)\u8fd9\u4e09\u4e2a\u53c2\u6570\u5206\u522b\u4ee3\u8868<br \/>\nREST\u8bf7\u6c42\u5730\u5740\u3001\u8bf7\u6c42\u53c2\u6570\u3001HTTP\u54cd\u5e94\u8f6c\u6362\u88ab\u8f6c\u6362\u6210\u7684\u5bf9\u8c61\u7c7b\u578b\u3002<\/p>\n<h3>\u672c\u6b21springCloud\u7248\u672c<\/h3>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\n                &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n                &lt;artifactId&gt;spring-cloud-dependencies&lt;\/artifactId&gt;\n                &lt;version&gt;Dalston.SR1&lt;\/version&gt;\n                &lt;type&gt;pom&lt;\/type&gt;\n                &lt;scope&gt;import&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-dependencies&lt;\/artifactId&gt;\n                &lt;version&gt;1.5.9.RELEASE&lt;\/version&gt;\n                &lt;type&gt;pom&lt;\/type&gt;\n                &lt;scope&gt;import&lt;\/scope&gt;\n            &lt;\/dependency&gt;<\/code><\/pre>\n<h2>\u4e00.microservicecloud<\/h2>\n<p>\u6574\u4f53\u7236\u5de5\u7a0bProject<\/p>\n<h3>1.\u65b0\u5efa\u7236\u5de5\u7a0bmicroservicecloud\uff0c\u5207\u8bb0\u662fPackageing\u662fpom\u6a21\u5f0f<\/h3>\n<h3>2.\u4e3b\u8981\u662f\u5b9a\u4e49POM\u6587\u4ef6\uff0c\u5c06\u540e\u7eed\u5404\u4e2a\u5b50\u6a21\u5757\u516c\u7528\u7684jar\u5305\u7b49\u7edf\u4e00\u63d0\u51fa\u6765\uff0c\u7c7b\u4f3c\u4e00\u4e2a\u62bd\u8c61\u7236\u7c7b<\/h3>\n<h3>3.pom\u6587\u4ef6\uff1a<\/h3>\n<pre><code class=\"language-xml\">&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 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n  &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n  &lt;groupId&gt;com.example&lt;\/groupId&gt;\n    &lt;artifactId&gt;microservicecloud&lt;\/artifactId&gt;\n    &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;packaging&gt;pom&lt;\/packaging&gt;\n\n  &lt;properties&gt;\n   &lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;\n   &lt;maven.compiler.source&gt;1.8&lt;\/maven.compiler.source&gt;\n   &lt;maven.compiler.target&gt;1.8&lt;\/maven.compiler.target&gt;\n   &lt;junit.version&gt;4.12&lt;\/junit.version&gt;\n   &lt;log4j.version&gt;1.2.17&lt;\/log4j.version&gt;\n   &lt;lombok.version&gt;1.16.18&lt;\/lombok.version&gt;\n  &lt;\/properties&gt;\n\n  &lt;dependencyManagement&gt;\n   &lt;dependencies&gt;\n     &lt;dependency&gt;\n       &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n       &lt;artifactId&gt;spring-cloud-dependencies&lt;\/artifactId&gt;\n       &lt;version&gt;Dalston.SR1&lt;\/version&gt;\n       &lt;type&gt;pom&lt;\/type&gt;\n       &lt;scope&gt;import&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-dependencies&lt;\/artifactId&gt;\n       &lt;version&gt;1.5.9.RELEASE&lt;\/version&gt;\n       &lt;type&gt;pom&lt;\/type&gt;\n       &lt;scope&gt;import&lt;\/scope&gt;\n     &lt;\/dependency&gt;\n     &lt;!--            &lt;dependency&gt;--&gt;\n&lt;!--                &lt;groupId&gt;mysql&lt;\/groupId&gt;--&gt;\n&lt;!--                &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;--&gt;\n&lt;!--                &lt;version&gt;5.0.4&lt;\/version&gt;--&gt;\n&lt;!--            &lt;\/dependency&gt;--&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;mysql&lt;\/groupId&gt;\n                &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;\n                &lt;version&gt;8.0.23&lt;\/version&gt;\n            &lt;\/dependency&gt;\n     &lt;dependency&gt;\n       &lt;groupId&gt;com.alibaba&lt;\/groupId&gt;\n       &lt;artifactId&gt;druid&lt;\/artifactId&gt;\n       &lt;version&gt;1.0.31&lt;\/version&gt;\n     &lt;\/dependency&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;1.3.0&lt;\/version&gt;\n     &lt;\/dependency&gt;\n     &lt;dependency&gt;\n       &lt;groupId&gt;ch.qos.logback&lt;\/groupId&gt;\n       &lt;artifactId&gt;logback-core&lt;\/artifactId&gt;\n       &lt;version&gt;1.2.3&lt;\/version&gt;\n     &lt;\/dependency&gt;\n     &lt;dependency&gt;\n       &lt;groupId&gt;junit&lt;\/groupId&gt;\n       &lt;artifactId&gt;junit&lt;\/artifactId&gt;\n       &lt;version&gt;${junit.version}&lt;\/version&gt;\n       &lt;scope&gt;test&lt;\/scope&gt;\n     &lt;\/dependency&gt;\n     &lt;dependency&gt;\n       &lt;groupId&gt;log4j&lt;\/groupId&gt;\n       &lt;artifactId&gt;log4j&lt;\/artifactId&gt;\n       &lt;version&gt;${log4j.version}&lt;\/version&gt;\n     &lt;\/dependency&gt;\n   &lt;\/dependencies&gt;\n  &lt;\/dependencyManagement&gt;\n&lt;\/project&gt;\n<\/code><\/pre>\n<h2>\u4e8c.microservicecloud-api<\/h2>\n<p>\u516c\u5171\u5b50\u6a21\u5757Module<\/p>\n<h3>1.\u65b0\u5efamicroservicecloud-api<\/h3>\n<p>\u521b\u5efa\u5b8c\u6210\u540e\u8bf7\u56de\u5230\u7236\u5de5\u7a0b\u67e5\u770bpom\u6587\u4ef6\u53d8\u5316<\/p>\n<pre><code class=\"language-xml\">    &lt;modules&gt;\n        &lt;module&gt;microservicecloud-api&lt;\/module&gt;\n    &lt;\/modules&gt;<\/code><\/pre>\n<h3>2.\u4fee\u6539POM<\/h3>\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;&lt;!-- \u5b50\u7c7b\u91cc\u9762\u663e\u793a\u58f0\u660e\u624d\u80fd\u6709\u660e\u786e\u7684\u7ee7\u627f\u8868\u73b0\uff0c\u65e0\u610f\u5916\u5c31\u662f\u7236\u7c7b\u7684\u9ed8\u8ba4\u7248\u672c\u5426\u5219\u81ea\u5df1\u5b9a\u4e49 --&gt;\n        &lt;groupId&gt;com.example&lt;\/groupId&gt;\n        &lt;artifactId&gt;microservicecloud&lt;\/artifactId&gt;\n        &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;\/parent&gt;\n\n    &lt;artifactId&gt;microservicecloud-api&lt;\/artifactId&gt;&lt;!-- \u5f53\u524dModule\u6211\u81ea\u5df1\u53eb\u4ec0\u4e48\u540d\u5b57 --&gt;\n\n    &lt;dependencies&gt;&lt;!-- \u5f53\u524dModule\u9700\u8981\u7528\u5230\u7684jar\u5305\uff0c\u6309\u81ea\u5df1\u9700\u6c42\u6dfb\u52a0\uff0c\u5982\u679c\u7236\u7c7b\u5df2\u7ecf\u5305\u542b\u4e86\uff0c\u53ef\u4ee5\u4e0d\u7528\u5199\u7248\u672c\u53f7 --&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;dependency&gt;\n            &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-cloud-starter-feign&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n\n&lt;\/project&gt;\n<\/code><\/pre>\n<h3>3.\u65b0\u5efa\u90e8\u95e8Entity\u4e14\u914d\u5408lombok\u4f7f\u7528<\/h3>\n<pre><code class=\"language-java\">@NoArgsConstructor\n@Data\n@Accessors(chain=true)\npublic class Dept implements Serializable \/\/\u5fc5\u987b\u5e8f\u5217\u5316\n{\n  private Long  deptno;   \/\/\u4e3b\u952e\n  private String  dname;   \/\/\u90e8\u95e8\u540d\u79f0\n  private String  db_source;\/\/\u6765\u81ea\u90a3\u4e2a\u6570\u636e\u5e93\uff0c\u56e0\u4e3a\u5fae\u670d\u52a1\u67b6\u6784\u53ef\u4ee5\u4e00\u4e2a\u670d\u52a1\u5bf9\u5e94\u4e00\u4e2a\u6570\u636e\u5e93\uff0c\u540c\u4e00\u4e2a\u4fe1\u606f\u88ab\u5b58\u50a8\u5230\u4e0d\u540c\u6570\u636e\u5e93\n\n  public Dept(String dname)\n  {\n   super();\n   this.dname = dname;\n  }\n}<\/code><\/pre>\n<h3>4.mvn clean install\u540e\u7ed9\u5176\u5b83\u6a21\u5757\u5f15\u7528\uff0c\u8fbe\u5230\u901a\u7528\u76ee\u7684\u3002<\/h3>\n<p>\u4e5f\u5373\u9700\u8981\u7528\u5230\u90e8\u95e8\u5b9e\u4f53\u7684\u8bdd\uff0c\u4e0d\u7528\u6bcf\u4e2a\u5de5\u7a0b\u90fd\u5b9a\u4e49\u4e00\u4efd\uff0c\u76f4\u63a5\u5f15\u7528\u672c\u6a21\u5757\u5373\u53ef\u3002<\/p>\n<h2>\u4e09.microservicecloud-provider-dept-8001<\/h2>\n<p>\u90e8\u95e8\u5fae\u670d\u52a1\u63d0\u4f9b\u8005Module<\/p>\n<h3>1.\u65b0\u5efamicroservicecloud-provider-dept-8001<\/h3>\n<h3>2.POM<\/h3>\n<pre><code class=\"language-xml\">\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 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n  &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n  &lt;parent&gt;\n        &lt;artifactId&gt;microservicecloud&lt;\/artifactId&gt;\n        &lt;groupId&gt;com.example&lt;\/groupId&gt;\n        &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;\/parent&gt;\n\n  &lt;artifactId&gt;microservicecloud-provider-dept-8001&lt;\/artifactId&gt;\n\n  &lt;dependencies&gt;\n   &lt;!-- \u5f15\u5165\u81ea\u5df1\u5b9a\u4e49\u7684api\u901a\u7528\u5305\uff0c\u53ef\u4ee5\u4f7f\u7528Dept\u90e8\u95e8Entity --&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;com.example&lt;\/groupId&gt;\n            &lt;artifactId&gt;microservicecloud-api&lt;\/artifactId&gt;\n            &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n        &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;junit&lt;\/groupId&gt;\n     &lt;artifactId&gt;junit&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;mysql&lt;\/groupId&gt;\n     &lt;artifactId&gt;mysql-connector-java&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;com.alibaba&lt;\/groupId&gt;\n     &lt;artifactId&gt;druid&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;ch.qos.logback&lt;\/groupId&gt;\n     &lt;artifactId&gt;logback-core&lt;\/artifactId&gt;\n   &lt;\/dependency&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-starter-jetty&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-starter-web&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-starter-test&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;!-- \u4fee\u6539\u540e\u7acb\u5373\u751f\u6548\uff0c\u70ed\u90e8\u7f72 --&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\n     &lt;artifactId&gt;springloaded&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;\/dependency&gt;\n  &lt;\/dependencies&gt;\n\n&lt;\/project&gt;\n<\/code><\/pre>\n<h3>3.YML<\/h3>\n<pre><code class=\"language-yaml\">server:\n  port: 8001\n\nmybatis:\n  config-location: classpath:mybatis\/mybatis.cfg.xml        # mybatis\u914d\u7f6e\u6587\u4ef6\u6240\u5728\u8def\u5f84\n  type-aliases-package: com.example.microservicecloudapi.entity    # \u6240\u6709Entity\u522b\u540d\u7c7b\u6240\u5728\u5305\n  mapper-locations:\n  - classpath:mybatis\/mapper\/**\/*.xml                       # mapper\u6620\u5c04\u6587\u4ef6\n\nspring:\n   application:\n    name: microservicecloud-dept\n   datasource:\n    type: com.alibaba.druid.pool.DruidDataSource            # \u5f53\u524d\u6570\u636e\u6e90\u64cd\u4f5c\u7c7b\u578b\n    driver-class-name: com.mysql.cj.jdbc.Driver\n    #driver-class-name: org.gjt.mm.mysql.Driver              # mysql\u9a71\u52a8\u5305\n    url: jdbc:mysql:\/\/localhost:3307\/cloudDB01?serverTimezone=GMT          # \u6570\u636e\u5e93\u540d\u79f0\n    username: root\n    password: root\n    dbcp2:\n      min-idle: 5                                           # \u6570\u636e\u5e93\u8fde\u63a5\u6c60\u7684\u6700\u5c0f\u7ef4\u6301\u8fde\u63a5\u6570\n      initial-size: 5                                       # \u521d\u59cb\u5316\u8fde\u63a5\u6570\n      max-total: 5                                          # \u6700\u5927\u8fde\u63a5\u6570\n      max-wait-millis: 200                                  # \u7b49\u5f85\u8fde\u63a5\u83b7\u53d6\u7684\u6700\u5927\u8d85\u65f6\u65f6\u95f4<\/code><\/pre>\n<h3>4.\u5de5\u7a0bsrc\/main\/resources\u76ee\u5f55\u4e0b\u65b0\u5efamybatis\u6587\u4ef6\u5939\u540e\u65b0\u5efamybatis.cfg.xml\u6587\u4ef6<\/h3>\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;\n&lt;!DOCTYPE configuration\n  PUBLIC &quot;-\/\/mybatis.org\/\/DTD Config 3.0\/\/EN&quot;\n  &quot;http:\/\/mybatis.org\/dtd\/mybatis-3-config.dtd&quot;&gt;\n\n&lt;configuration&gt;\n\n  &lt;settings&gt;\n   &lt;setting name=&quot;cacheEnabled&quot; value=&quot;true&quot;\/&gt;&lt;!-- \u4e8c\u7ea7\u7f13\u5b58\u5f00\u542f --&gt;\n  &lt;\/settings&gt;\n\n&lt;\/configuration&gt;\n<\/code><\/pre>\n<h3>5.MySQL\u521b\u5efa\u90e8\u95e8\u6570\u636e\u5e93\u811a\u672c<\/h3>\n<pre><code class=\"language-sql\">DROP DATABASE IF EXISTS cloudDB01;\nCREATE DATABASE cloudDB01 CHARACTER SET UTF8;\nUSE cloudDB01;\nCREATE TABLE dept\n(\n  deptno BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,\n  dname VARCHAR(60),\n  db_source   VARCHAR(60)\n);\n\nINSERT INTO dept(dname,db_source) VALUES(&#039;\u5f00\u53d1\u90e8&#039;,DATABASE());\nINSERT INTO dept(dname,db_source) VALUES(&#039;\u4eba\u4e8b\u90e8&#039;,DATABASE());\nINSERT INTO dept(dname,db_source) VALUES(&#039;\u8d22\u52a1\u90e8&#039;,DATABASE());\nINSERT INTO dept(dname,db_source) VALUES(&#039;\u5e02\u573a\u90e8&#039;,DATABASE());\nINSERT INTO dept(dname,db_source) VALUES(&#039;\u8fd0\u7ef4\u90e8&#039;,DATABASE());\n\nSELECT * FROM dept;<\/code><\/pre>\n<h3>6.DeptDao\u90e8\u95e8\u63a5\u53e3<\/h3>\n<pre><code class=\"language-java\">@Mapper\npublic interface DeptDao {\n\n    public Boolean addDept(Dept dept);\n\n    public Dept findById(Long id);\n\n    public List&lt;Dept&gt; findAll();\n}<\/code><\/pre>\n<h3>7.\u5de5\u7a0bsrc\/main\/resources\/mybatis\u76ee\u5f55\u4e0b\u65b0\u5efamapper\u6587\u4ef6\u5939\u540e\u518d\u5efaDeptMapper.xml<\/h3>\n<pre><code class=\"language-xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;\n&lt;!DOCTYPE mapper PUBLIC &quot;-\/\/mybatis.org\/\/DTD Mapper 3.0\/\/EN&quot;\n&quot;http:\/\/mybatis.org\/dtd\/mybatis-3-mapper.dtd&quot;&gt;\n\n&lt;mapper namespace=&quot;com.springcloud.dao.DeptDao&quot;&gt;\n\n    &lt;select id=&quot;findById&quot; resultType=&quot;Dept&quot; parameterType=&quot;Long&quot;&gt;\n        select deptno,dname,db_source from dept where deptno=#{deptno};\n    &lt;\/select&gt;\n    &lt;select id=&quot;findAll&quot; resultType=&quot;Dept&quot;&gt;\n        select deptno,dname,db_source from dept;\n    &lt;\/select&gt;\n    &lt;insert id=&quot;addDept&quot; parameterType=&quot;Dept&quot;&gt;\n        INSERT INTO dept(dname,db_source) VALUES(#{dname},DATABASE());\n    &lt;\/insert&gt;\n\n&lt;\/mapper&gt;<\/code><\/pre>\n<h3>8.DeptService\u90e8\u95e8\u670d\u52a1\u63a5\u53e3<\/h3>\n<pre><code class=\"language-java\">public interface DeptService {\n    public Boolean add(Dept dept);\n\n    public Dept get(Long id);\n\n    public List&lt;Dept&gt; list();\n}<\/code><\/pre>\n<h3>9.DeptServiceImpl\u90e8\u95e8\u670d\u52a1\u63a5\u53e3\u5b9e\u73b0\u7c7b<\/h3>\n<pre><code class=\"language-java\">@Service\npublic class DeptServiceImpl implements DeptService {\n\n    @Autowired\n    private DeptDao deptDao;\n\n    @Override\n    public Boolean add(Dept dept) {\n        return deptDao.addDept(dept);\n    }\n\n    @Override\n    public Dept get(Long id) {\n        return deptDao.findById(id);\n    }\n\n    @Override\n    public List&lt;Dept&gt; list() {\n        return deptDao.findAll();\n    }\n}<\/code><\/pre>\n<h3>10.DeptController\u90e8\u95e8\u5fae\u670d\u52a1\u63d0\u4f9b\u8005REST<\/h3>\n<pre><code class=\"language-java\">@RestController\npublic class DeptController {\n\n    @Autowired\n    private DeptService deptService;\n\n    @PostMapping(&quot;\/dept\/add&quot;)\n    public Boolean add(@RequestBody Dept dept){\n        return deptService.add(dept);\n    }\n\n    @GetMapping(&quot;\/dept\/get\/{id}&quot;)\n    public Dept get(@PathVariable(&quot;id&quot;) Long id){\n        return deptService.get(id);\n    }\n\n    @GetMapping(&quot;\/dept\/list&quot;)\n    public List&lt;Dept&gt; list(){\n        return deptService.list();\n    }\n}<\/code><\/pre>\n<h3>11.DeptProvider8001_App\u4e3b\u542f\u52a8\u7c7b<\/h3>\n<pre><code class=\"language-java\">@SpringBootApplication\npublic class DeptProvider_8001 {\n\n    public static void main(String[] args) {\n        SpringApplication.run(DeptProvider_8001.class,args);\n    }\n}\n<\/code><\/pre>\n<h3>12.\u6d4b\u8bd5<\/h3>\n<p><a href=\"http:\/\/localhost:8001\/dept\/get\/2\">http:\/\/localhost:8001\/dept\/get\/2<\/a><br \/>\n<a href=\"http:\/\/localhost:8001\/dept\/list\">http:\/\/localhost:8001\/dept\/list<\/a><\/p>\n<h2>\u56db.microservicecloud-consumer-dept-80<\/h2>\n<p>\u90e8\u95e8\u5fae\u670d\u52a1\u6d88\u8d39\u8005Module<\/p>\n<h3>1.\u65b0\u5efamicroservicecloud-consumer-dept-80<\/h3>\n<h3>2.POM<\/h3>\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;\n         xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n         xsi:schemaLocation=&quot;http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&quot;&gt;\n    &lt;parent&gt;\n        &lt;artifactId&gt;microservicecloud&lt;\/artifactId&gt;\n        &lt;groupId&gt;com.example&lt;\/groupId&gt;\n        &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;\n    &lt;\/parent&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;artifactId&gt;microservicecloud-consumer-dept-80&lt;\/artifactId&gt;\n    &lt;description&gt;\u90e8\u95e8\u5fae\u670d\u52a1\u6d88\u8d39\u8005&lt;\/description&gt;\n\n    &lt;dependencies&gt;\n        &lt;dependency&gt;&lt;!-- \u81ea\u5df1\u5b9a\u4e49\u7684api --&gt;\n            &lt;groupId&gt;com.example&lt;\/groupId&gt;\n            &lt;artifactId&gt;microservicecloud-api&lt;\/artifactId&gt;\n            &lt;version&gt;${project.version}&lt;\/version&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-starter-web&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;!-- \u4fee\u6539\u540e\u7acb\u5373\u751f\u6548\uff0c\u70ed\u90e8\u7f72 --&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\n            &lt;artifactId&gt;springloaded&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;\/dependency&gt;\n    &lt;\/dependencies&gt;\n\n&lt;\/project&gt;<\/code><\/pre>\n<h3>3.YML<\/h3>\n<pre><code class=\"language-yaml\">server:\n  port: 80<\/code><\/pre>\n<h3>4.ConfigBean\u7684\u7f16\u5199<\/h3>\n<p>com.springclod.cfgbean\u5305\u4e0bConfigBean\u7684\u7f16\u5199\uff08\u7c7b\u4f3cspring\u91cc\u9762\u7684applicationContext.xml\u5199\u5165\u7684\u6ce8\u5165Bean\uff09<\/p>\n<pre><code class=\"language-java\">@Configuration\npublic class ConfigBean {\n\n    @Bean\n    public RestTemplate getRestTemplate(){\n        return new RestTemplate();\n    }\n}<\/code><\/pre>\n<h3>5.DeptController_Consumer\u90e8\u95e8\u5fae\u670d\u52a1\u6d88\u8d39\u8005<\/h3>\n<p>com.springclod.controller\u5305\u4e0b\u65b0\u5efaDeptController_Consumer\u90e8\u95e8\u5fae\u670d\u52a1\u6d88\u8d39\u8005REST<\/p>\n<pre><code class=\"language-java\">@RestController\npublic class DeptController_Consumer {\n\n    public static final String REST_URL_PREFIX = &quot;http:\/\/localhost:8001&quot;;\n\n    @Autowired\n    private RestTemplate restTemplate;\n\n    @GetMapping(&quot;\/consumer\/dept\/add&quot;)\n    public Boolean add(Dept dept){\n        return restTemplate.postForObject(REST_URL_PREFIX + &quot;\/dept\/add&quot;,dept, Boolean.class);\n    }\n\n    @GetMapping(&quot;\/consumer\/dept\/get\/{id}&quot;)\n    public Dept get(@PathVariable Long id){\n        return restTemplate.getForObject(REST_URL_PREFIX + &quot;\/dept\/get\/&quot;+id,Dept.class);\n    }\n\n    @GetMapping(&quot;\/consumer\/dept\/list&quot;)\n    public List&lt;Dept&gt; list(){\n        return restTemplate.getForObject(REST_URL_PREFIX + &quot;\/dept\/list&quot;,List.class);\n    }\n}<\/code><\/pre>\n<h3>6.DeptConsumer80_App\u4e3b\u542f\u52a8\u7c7b<\/h3>\n<pre><code class=\"language-java\">@SpringBootApplication\npublic class ConsumerDeptApplication_80 {\n\n    public static void main(String[] args) {\n\n        SpringApplication.run(ConsumerDeptApplication_80.class,args);\n    }\n}<\/code><\/pre>\n<h3>7.\u6d4b\u8bd5<\/h3>\n<p><a href=\"http:\/\/localhost\/consumer\/dept\/get\/2\">http:\/\/localhost\/consumer\/dept\/get\/2<\/a><\/p>\n<p><a href=\"http:\/\/localhost\/consumer\/dept\/list\">http:\/\/localhost\/consumer\/dept\/list<\/a><\/p>\n<p><a href=\"http:\/\/localhost\/consumer\/dept\/add?dname=AI\">http:\/\/localhost\/consumer\/dept\/add?dname=AI<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u603b\u4f53\u4ecb\u7ecd \u4ee5Dept\u90e8\u95e8\u6a21\u5757\u505a\u4e00\u4e2a\u5fae\u670d\u52a1\u901a\u7528\u6848\u4f8b Consumer\u6d88\u8d39\u8005\uff08Client\uff09\u901a\u8fc7REST\u8c03\u7528Pro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[126],"tags":[70],"class_list":["post-348","post","type-post","status-publish","format-standard","hentry","category-java-microservices","tag-springcloud"],"_links":{"self":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=348"}],"version-history":[{"count":1,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/348\/revisions"}],"predecessor-version":[{"id":2127,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/348\/revisions\/2127"}],"wp:attachment":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}