﻿{"id":292,"date":"2017-06-08T21:13:16","date_gmt":"2017-06-08T13:13:16","guid":{"rendered":"http:\/\/www.chenweikang.top\/?p=292"},"modified":"2017-09-19T11:37:11","modified_gmt":"2017-09-19T03:37:11","slug":"dubbozookeeperssm%e6%a1%86%e6%9e%b6%e6%95%b4%e5%90%88%e6%9e%84%e5%bb%ba%e5%88%86%e5%b8%83%e5%bc%8f%e9%a1%b9%e7%9b%ae","status":"publish","type":"post","link":"https:\/\/www.chenweikang.top\/?p=292","title":{"rendered":"Dubbo+Zookeeper+SSM\u6846\u67b6\u6574\u5408\u6784\u5efa\u5206\u5e03\u5f0f\u9879\u76ee"},"content":{"rendered":"<h2>\u4e00\u3001Dubbo\u4e0eZookeeper\u4ecb\u7ecd<\/h2>\n<p><span style=\"color: #993300;\">Dubbo\u5efa\u8bae\u4f7f\u7528Zookeeper\u4f5c\u4e3a\u670d\u52a1\u7684\u6ce8\u518c\u4e2d\u5fc3\u3002<\/span><\/p>\n<h3>1.\u00a0\u00a0 Zookeeper\u7684\u4f5c\u7528\uff1a<\/h3>\n<blockquote>\n<div>\u00a0 \u00a0 \u00a0ZooKeeper\u662f\u4e00\u79cd\u4e3a\u5206\u5e03\u5f0f\u5e94\u7528\u6240\u8bbe\u8ba1\u7684\u9ad8\u53ef\u7528\u3001\u9ad8\u6027\u80fd\u4e14\u4e00\u81f4\u7684\u5f00\u6e90\u534f\u8c03\u670d\u52a1\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u9879\u57fa\u672c\u670d\u52a1\uff1a\u5206\u5e03\u5f0f\u9501\u670d\u52a1\u3002\u7531\u4e8eZooKeeper\u7684\u5f00\u6e90\u7279\u6027\uff0c\u540e\u6765\u6211\u4eec\u7684\u5f00\u53d1\u8005\u5728\u5206\u5e03\u5f0f\u9501\u7684\u57fa\u7840\u4e0a\uff0c\u6478\u7d22\u4e86\u51fa\u4e86\u5176\u4ed6\u7684\u4f7f\u7528\u65b9\u6cd5\uff1a\u914d\u7f6e\u7ef4\u62a4\u3001\u7ec4\u670d\u52a1\u3001\u5206\u5e03\u5f0f\u6d88\u606f\u961f\u5217\u3001\u5206\u5e03\u5f0f\u901a\u77e5\/\u534f\u8c03\u7b49\u3002<br \/>\nZooKeeper\u7528\u6765\u6ce8\u518c\u670d\u52a1\u548c\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\uff0c\u54ea\u4e00\u4e2a\u670d\u52a1\u7531\u54ea\u4e00\u4e2a\u673a\u5668\u6765\u63d0\u4f9b\u5fc5\u9700\u8ba9\u8c03\u7528\u8005\u77e5\u9053\uff0c\u7b80\u5355\u6765\u8bf4\u5c31\u662fip\u5730\u5740\u548c\u670d\u52a1\u540d\u79f0\u7684\u5bf9\u5e94\u5173\u7cfb\u3002\u5f53\u7136\u4e5f\u53ef\u4ee5\u901a\u8fc7\u786c\u7f16\u7801\u7684\u65b9\u5f0f\u628a\u8fd9\u79cd\u5bf9\u5e94\u5173\u7cfb\u5728\u8c03\u7528\u65b9\u4e1a\u52a1\u4ee3\u7801\u4e2d\u5b9e\u73b0\uff0c\u4f46\u662f\u5982\u679c\u63d0\u4f9b\u670d\u52a1\u7684\u673a\u5668\u6302\u6389\u8c03\u7528\u8005\u65e0\u6cd5\u77e5\u6653\uff0c\u5982\u679c\u4e0d\u66f4\u6539\u4ee3\u7801\u4f1a\u7ee7\u7eed\u8bf7\u6c42\u6302\u6389\u7684\u673a\u5668\u63d0\u4f9b\u670d\u52a1\u3002zookeeper\u901a\u8fc7\u5fc3\u8df3\u673a\u5236\u53ef\u4ee5\u68c0\u6d4b\u6302\u6389\u7684\u673a\u5668\u5e76\u5c06\u6302\u6389\u673a\u5668\u7684ip\u548c\u670d\u52a1\u5bf9\u5e94\u5173\u7cfb\u4ece\u5217\u8868\u4e2d\u5220\u9664\u3002\u81f3\u4e8e\u652f\u6301\u9ad8\u5e76\u53d1\uff0c\u7b80\u5355\u6765\u8bf4\u5c31\u662f\u6a2a\u5411\u6269\u5c55\uff0c\u5728\u4e0d\u66f4\u6539\u4ee3\u7801\u7684\u60c5\u51b5\u901a\u8fc7\u6dfb\u52a0\u673a\u5668\u6765\u63d0\u9ad8\u8fd0\u7b97\u80fd\u529b\u3002\u901a\u8fc7\u6dfb\u52a0\u65b0\u7684\u673a\u5668\u5411zookeeper\u6ce8\u518c\u670d\u52a1\uff0c\u670d\u52a1\u7684\u63d0\u4f9b\u8005\u591a\u4e86\u80fd\u670d\u52a1\u7684\u5ba2\u6237\u5c31\u591a\u4e86\u3002<\/div>\n<\/blockquote>\n<h3>2.\u00a0 dubbo\u7b80\u4ecb\uff1a<\/h3>\n<p>DUBBO\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u670d\u52a1\u6846\u67b6\uff0c\u81f4\u529b\u4e8e\u63d0\u4f9b\u9ad8\u6027\u80fd\u548c\u900f\u660e\u5316\u7684RPC\u8fdc\u7a0b\u670d\u52a1\u8c03\u7528\u65b9\u6848\uff0c\u662f\u963f\u91cc\u5df4\u5df4SOA\u670d\u52a1\u5316\u6cbb\u7406\u65b9\u6848\u7684\u6838\u5fc3\u6846\u67b6<\/p>\n<p>\u6ce8\u610f\u8fd9\u91cc\u7684dubbo\u53ea\u662f\u4e00\u4e2a\u6846\u67b6\uff0c\u81f3\u4e8e\u4f60\u67b6\u5b50\u4e0a\u653e\u4ec0\u4e48\u662f\u5b8c\u5168\u53d6\u51b3\u4e8e\u4f60\u7684\uff0c\u5c31\u50cf\u4e00\u4e2a\u6c7d\u8f66\u9aa8\u67b6\uff0c\u4f60\u9700\u8981\u914d\u4f60\u7684\u8f6e\u5b50\u5f15\u64ce\u3002\u8fd9\u4e2a\u6846\u67b6\u4e2d\u8981\u5b8c\u6210\u8c03\u5ea6\u5fc5\u987b\u8981\u6709\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u6ce8\u518c\u4e2d\u5fc3\uff0c\u50a8\u5b58\u6240\u6709\u670d\u52a1\u7684\u5143\u6570\u636e\uff0c\u6211\u4eec\u53ef\u4ee5\u7528ZooKeeper\uff0c\u4e5f\u53ef\u4ee5\u7528\u522b\u7684\u3002<\/p>\n<p>Dubbo\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u670d\u52a1\u6846\u67b6,\u89e3\u51b3\u4e86\u4e0a\u9762\u7684\u6240\u9762\u5bf9\u7684\u95ee\u9898\uff0cDubbo\u7684\u67b6\u6784\u5982\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/img.blog.csdn.net\/20141114081506984?watermark\/2\/text\/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29uZ2Nvbmc2OA==\/font\/5a6L5L2T\/fontsize\/400\/fill\/I0JBQkFCMA==\/dissolve\/70\/gravity\/Center\" alt=\"\" \/><\/p>\n<p>\u8282\u70b9\u89d2\u8272\u8bf4\u660e\uff1a<\/p>\n<p>Provider:\u00a0\u66b4\u9732\u670d\u52a1\u7684\u670d\u52a1\u63d0\u4f9b\u65b9\u3002<\/p>\n<p>Consumer:\u00a0\u8c03\u7528\u8fdc\u7a0b\u670d\u52a1\u7684\u670d\u52a1\u6d88\u8d39\u65b9\u3002<\/p>\n<p>Registry:\u00a0\u670d\u52a1\u6ce8\u518c\u4e0e\u53d1\u73b0\u7684\u6ce8\u518c\u4e2d\u5fc3\u3002<\/p>\n<p>Monitor:\u00a0\u7edf\u8ba1\u670d\u52a1\u7684\u8c03\u7528\u6b21\u8c03\u548c\u8c03\u7528\u65f6\u95f4\u7684\u76d1\u63a7\u4e2d\u5fc3\u3002<\/p>\n<p><a class=\"replace_word\" title=\"Docker\u77e5\u8bc6\u5e93\" href=\"http:\/\/lib.csdn.net\/base\/docker\" target=\"_blank\" rel=\"noopener\">Container<\/a>:\u00a0\u670d\u52a1\u8fd0\u884c\u5bb9\u5668\u3002<\/p>\n<p>\u8c03\u7528\u5173\u7cfb\u8bf4\u660e\uff1a<\/p>\n<p>0.\u00a0\u670d\u52a1\u5bb9\u5668\u8d1f\u8d23\u542f\u52a8\uff0c\u52a0\u8f7d\uff0c\u8fd0\u884c\u670d\u52a1\u63d0\u4f9b\u8005\u3002<\/p>\n<p>1.\u00a0\u670d\u52a1\u63d0\u4f9b\u8005\u5728\u542f\u52a8\u65f6\uff0c\u5411\u6ce8\u518c\u4e2d\u5fc3\u6ce8\u518c\u81ea\u5df1\u63d0\u4f9b\u7684\u670d\u52a1\u3002<\/p>\n<p>2.\u00a0\u670d\u52a1\u6d88\u8d39\u8005\u5728\u542f\u52a8\u65f6\uff0c\u5411\u6ce8\u518c\u4e2d\u5fc3\u8ba2\u9605\u81ea\u5df1\u6240\u9700\u7684\u670d\u52a1\u3002<\/p>\n<p>3.\u00a0\u6ce8\u518c\u4e2d\u5fc3\u8fd4\u56de\u670d\u52a1\u63d0\u4f9b\u8005\u5730\u5740\u5217\u8868\u7ed9\u6d88\u8d39\u8005\uff0c\u5982\u679c\u6709\u53d8\u66f4\uff0c\u6ce8\u518c\u4e2d\u5fc3\u5c06\u57fa\u4e8e\u957f\u8fde\u63a5\u63a8\u9001\u53d8\u66f4\u6570\u636e\u7ed9\u6d88\u8d39\u8005\u3002<\/p>\n<p>4.\u00a0\u670d\u52a1\u6d88\u8d39\u8005\uff0c\u4ece\u63d0\u4f9b\u8005\u5730\u5740\u5217\u8868\u4e2d\uff0c\u57fa\u4e8e\u8f6f\u8d1f\u8f7d\u5747\u8861<a class=\"replace_word\" title=\"\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u77e5\u8bc6\u5e93\" href=\"http:\/\/lib.csdn.net\/base\/datastructure\" target=\"_blank\" rel=\"noopener\">\u7b97\u6cd5<\/a>\uff0c\u9009\u4e00\u53f0\u63d0\u4f9b\u8005\u8fdb\u884c\u8c03\u7528\uff0c\u5982\u679c\u8c03\u7528\u5931\u8d25\uff0c\u518d\u9009\u53e6\u4e00\u53f0\u8c03\u7528\u3002<\/p>\n<p>5.\u00a0\u670d\u52a1\u6d88\u8d39\u8005\u548c\u63d0\u4f9b\u8005\uff0c\u5728\u5185\u5b58\u4e2d\u7d2f\u8ba1\u8c03\u7528\u6b21\u6570\u548c\u8c03\u7528\u65f6\u95f4\uff0c\u5b9a\u65f6\u6bcf\u5206\u949f\u53d1\u9001\u4e00\u6b21\u7edf\u8ba1\u6570\u636e\u5230\u76d1\u63a7\u4e2d\u5fc3\u3002<\/p>\n<p>Dubbo\u63d0\u4f9b\u4e86\u5f88\u591a\u534f\u8bae\uff0cDubbo\u534f\u8bae\u3001RMI\u534f\u8bae\u3001Hessian\u534f\u8bae\uff0c\u6211\u4eec\u67e5\u770bDubbo\u6e90\u4ee3\u7801\uff0c\u6709\u5404\u79cd\u534f\u8bae\u7684\u5b9e\u73b0\uff0c\u5982\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/img.blog.csdn.net\/20141114081521515?watermark\/2\/text\/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29uZ2Nvbmc2OA==\/font\/5a6L5L2T\/fontsize\/400\/fill\/I0JBQkFCMA==\/dissolve\/70\/gravity\/Center\" alt=\"\" \/><\/p>\n<p>\u6211\u4eec\u4e4b\u524d\u6ca1\u7528Dubbo\u4e4b\u524d\u65f6\uff0c\u5927\u90e8\u5206\u90fd\u4f7f\u7528Hessian\u6765\u4f7f\u7528\u6211\u4eec\u670d\u52a1\u7684\u66b4\u9732\u548c\u8c03\u7528\uff0c\u5229\u7528HessianProxyFactory\u8c03\u7528\u8fdc\u7a0b\u63a5\u53e3\u3002<\/p>\n<div>\n<h3 class=\"zm-editable-content clearfix\">3. zookeeper\u548cdubbo\u7684\u5173\u7cfb\uff1a<\/h3>\n<div class=\"zm-editable-content clearfix\">\u00a0 \u00a0 \u00a0 Dubbo\u7684\u5c06\u6ce8\u518c\u4e2d\u5fc3\u8fdb\u884c\u62bd\u8c61\uff0c\u4f7f\u5f97\u5f97\u5b83\u53ef\u4ee5\u5916\u63a5\u4e0d\u540c\u7684\u5b58\u50a8\u5a92\u4ecb\u7ed9\u6ce8\u518c\u4e2d\u5fc3\u63d0\u4f9b\u670d\u52a1\uff0c\u800cZookeeper\u63d0\u4f9b\u6ce8\u518c\u670d\u52a1\uff0cDubbo\u670d\u52a1\u65b9\u542f\u52a8\u540e\u4f1a\u5c06\u63d0\u4f9b\u7684\u670d\u52a1\u6ce8\u518c\u5230Zookeeper,Dubbo\u6d88\u8d39\u65b9\u542f\u52a8\u540e\u4f1a\u5411\u6ce8\u518c\u4e2d\u5fc3\u8ba2\u9605\u670d\u52a1\uff0c\u7136\u540e\u901a\u8fc7\u8fdc\u7a0b\u8c03\u7528\u6765\u8bbf\u95ee\u670d\u52a1\u3002\u901a\u4fd7\u4e00\u70b9\uff0c\u6574\u4e2a\u8fc7\u7a0bZookeeper\u626e\u6f14\u7740\u5546\u5e97\u7684\u89d2\u8272\uff0cDubbo\u670d\u52a1\u65b9\u5219\u662f\u4f9b\u8d27\u65b9\uff0c\u6240\u63d0\u4f9b\u7684\u7684\u5546\u54c1\u5219\u662f\u63a5\u53e3\uff0cDubbo\u6d88\u8d39\u65b9\u5219\u662f\u6d88\u8d39\u8005\u3002<\/div>\n<div class=\"zm-editable-content clearfix\"><\/div>\n<div class=\"zm-editable-content clearfix\"><a href=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/86399212_2.jpg\" class=\"gallery_colorbox\" rel=\"attachment wp-att-296\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-296\" src=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/86399212_2.jpg\"  alt=\"86399212_2\" width=\"564\" height=\"425\" srcset=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/86399212_2.jpg 564w, https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/86399212_2-300x226.jpg 300w\" sizes=\"auto, (max-width: 564px) 100vw, 564px\" \/><\/a><\/div>\n<div class=\"zm-editable-content clearfix\"><\/div>\n<h3 class=\"zm-editable-content clearfix\">\u00a04.dubbo-admin<\/h3>\n<div class=\"zm-editable-content clearfix\">\n<p>\u00a0 \u00a0 \u00a0 dubbo-admin\u662fdubbo\u63d0\u4f9b\u7684\u4e00\u4e2a\u7528\u4e8e\u7ba1\u7406dubbo\u670d\u52a1\u7684\u63a7\u5236\u53f0\uff0c\u5176\u5f00\u6e90\u90e8\u5206\u4e3b\u8981\u5305\u542b\uff1a\u00a0\u63d0\u4f9b\u8005 \u00a0\u8def\u7531\u89c4\u5219 \u00a0\u52a8\u6001\u914d\u7f6e \u00a0\u8bbf\u95ee\u63a7\u5236 \u00a0\u6743\u91cd\u8c03\u8282 \u00a0\u8d1f\u8f7d\u5747\u8861 \u00a0\u8d1f\u8d23\u4eba\uff0c\u7b49\u7ba1\u7406\u529f\u80fd\u3002<\/p>\n<p>1.\u4e0b\u8f7ddubbo,\u91cc\u9762\u6709\u4e2a\u00a0dubbo-admin-xxxx.war \u6254\u5230tomcat \u91cc,<br \/>\ndubbo-admin\u4e0b\u8f7d\uff1a<a href=\"http:\/\/pan.baidu.com\/s\/1kVObrGb\" target=\"_blank\" rel=\"noopener\">http:\/\/pan.baidu.com\/s\/1kVObrGb<\/a><br \/>\n2.\u914d\u7f6edubbo.properties<\/p>\n<div class=\"cnblogs_code\">\n<pre>vim webapps\/ROOT\/WEB-INF\/dubbo.properties<\/pre>\n<\/div>\n<div class=\"cnblogs_code\">\n<pre>    dubbo.registry.address=zookeeper:\/\/10.0.65.3:2181\r\n\r\n    dubbo.admin.root.password=root\r\n\r\n    dubbo.admin.guest.password=guest\r\n<\/pre>\n<\/div>\n<p>3.\u542f\u52a8zookeeper\u540e\uff0c\u542f\u52a8tomcat \u00a0localhost:8080\/<\/p>\n<p>\u767b\u5f55\u5bc6\u7801\u4e3aroot\/root<\/p>\n<h2>\u4e8c\u3001\u6574\u5408Zookeeper\u3001Dubbo\u3001Spring\u3001SpringMVC\u3001MyBatis<\/h2>\n<h3>1.\u521b\u5efaMaven\u9879\u76ee\uff0cpox.xml \u5f15\u5165\u5fc5\u5907jar\u5305<\/h3>\n<blockquote><p>&lt;?xml version=<em>\"1.0\"<\/em> encoding=<em>\"UTF-8\"<\/em>?&gt;<\/p>\n<p>&lt;project xmlns=<em>\"http:\/\/maven.apache.org\/POM\/4.0.0\"<\/em> xmlns:xsi=<em>\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/em> xsi:schemaLocation=<em>\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"<\/em>&gt;<\/p>\n<p>&lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;<\/p>\n<p>&lt;groupId&gt;top.cwk&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>dubbo<\/u>-parent&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;<\/p>\n<p>&lt;packaging&gt;<u>pom<\/u>&lt;\/packaging&gt;<\/p>\n<p>&lt;name&gt;<u>dubbo<\/u>-parent&lt;\/name&gt;<\/p>\n<p>&lt;url&gt;http:\/\/maven.apache.org&lt;\/url&gt;<\/p>\n<p>&lt;properties&gt;<\/p>\n<p>&lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;<\/p>\n<p>&lt;spring.version&gt;4.2.4.RELEASE&lt;\/spring.version&gt;<\/p>\n<p>&lt;junit.version&gt;4.10&lt;\/junit.version&gt;<\/p>\n<p>&lt;mysql.version&gt;5.1.34&lt;\/mysql.version&gt;<\/p>\n<p>&lt;mybatis.version&gt;3.2.1&lt;\/mybatis.version&gt;<\/p>\n<p>&lt;jboss.resteasy.version&gt;3.0.10.Final&lt;\/jboss.resteasy.version&gt;<\/p>\n<p>&lt;poi.version&gt;3.9&lt;\/poi.version&gt;<\/p>\n<p>&lt;axis.version&gt;1.4&lt;\/axis.version&gt;<\/p>\n<p>&lt;\/properties&gt;<\/p>\n<p>&lt;build&gt;<\/p>\n<p>&lt;plugins&gt;<\/p>\n<p>&lt;plugin&gt;<\/p>\n<p>&lt;!-- \u6307\u5b9a\u7f16\u8bd1\u6240\u7528<u>jdk<\/u>\u7684\u7248\u672c --&gt;<\/p>\n<p>&lt;groupId&gt;org.apache.maven.plugins&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>maven<\/u>-compiler-<u>plugin<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;3.5.1&lt;\/version&gt;<\/p>\n<p>&lt;configuration&gt;<\/p>\n<p>&lt;source&gt;1.7&lt;\/source&gt;<\/p>\n<p>&lt;target&gt;1.7&lt;\/target&gt;<\/p>\n<p>&lt;\/configuration&gt;<\/p>\n<p>&lt;\/plugin&gt;<\/p>\n<p>&lt;\/plugins&gt;<\/p>\n<p>&lt;\/build&gt;<\/p>\n<p>&lt;dependencies&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;<u>junit<\/u>&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>junit<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${junit.version}&lt;\/version&gt;<\/p>\n<p>&lt;scope&gt;test&lt;\/scope&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- spring\u76f8\u5173jar\u5305 --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-context&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-context-support&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-core&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-beans&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-<u>webmvc<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-<u>orm<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-<u>tx<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;type&gt;jar&lt;\/type&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;spring-test&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${spring.version}&lt;\/version&gt;<\/p>\n<p>&lt;scope&gt;test&lt;\/scope&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- \u8fde\u63a5MySQL\u6570\u636e\u5e93\u9700\u8981\u7684jar--&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;<u>mysql<\/u>&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>mysql<\/u>-connector-java&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${mysql.version}&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- <u>dbcp<\/u>\u8fde\u63a5\u6c60\u9700\u8981\u7684jar--&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;commons-<u>dbcp<\/u>&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;commons-<u>dbcp<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.4&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;javax.servlet&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>jstl<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.2&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;log4j&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;log4j&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.2.17&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- \u6587\u4ef6\u4e0a\u4f20\u9700\u8981\u7684jar--&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;commons-<u>fileupload<\/u>&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;commons-<u>fileupload<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.2.1&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;commons-<u>io<\/u>&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;commons-<u>io<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;2.4&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- <u>mybatis<\/u> \u9700\u8981\u7684jar --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.mybatis&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>mybatis<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;${mybatis.version}&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;javax.servlet.jsp&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>jsp<\/u>-<u>api<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;2.2&lt;\/version&gt;<\/p>\n<p>&lt;scope&gt;compile&lt;\/scope&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;javax.servlet&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;javax.servlet-<u>api<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;3.1.0&lt;\/version&gt;<\/p>\n<p>&lt;scope&gt;compile&lt;\/scope&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;javax.validation&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;validation-<u>api<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.1.0.Final&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.mybatis&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>mybatis<\/u>-spring&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.2.3&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.aspectj&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>aspectjweaver<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.8.6&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.apache.ant&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;ant&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.7.0&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- <u>dubbo<\/u>\u76f8\u5173 --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;com.alibaba&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>dubbo<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;2.5.3&lt;\/version&gt;<\/p>\n<p>&lt;exclusions&gt;<\/p>\n<p>&lt;exclusion&gt;<\/p>\n<p>&lt;artifactId&gt;spring&lt;\/artifactId&gt;<\/p>\n<p>&lt;groupId&gt;org.springframework&lt;\/groupId&gt;<\/p>\n<p>&lt;\/exclusion&gt;<\/p>\n<p>&lt;\/exclusions&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- <u>zookeeper<\/u>\u76f8\u5173 --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.apache.zookeeper&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>zookeeper<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;3.4.6&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;<u>com<\/u>.101tec&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>zkclient<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;0.10&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- \u5904\u7406<u>json<\/u>\u6570\u636e --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;com.fasterxml.jackson.core&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>jackson<\/u>-core&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;2.4.3&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;com.fasterxml.jackson.core&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>jackson<\/u>-<u>databind<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;2.4.3&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;\/dependencies&gt;<\/p>\n<p>&lt;modules&gt;<\/p>\n<p>&lt;module&gt;<u>dubbo<\/u>-demo-core&lt;\/module&gt;<\/p>\n<p>&lt;module&gt;<u>dubbo<\/u>-demo-client&lt;\/module&gt;<\/p>\n<p>&lt;module&gt;<u>dubbo<\/u>-demo-<u>api<\/u>&lt;\/module&gt;<\/p>\n<p>&lt;module&gt;<u>dubbo<\/u>-demo-model&lt;\/module&gt;<\/p>\n<p>&lt;\/modules&gt;<\/p>\n<p>&lt;\/project&gt;<\/p><\/blockquote>\n<\/div>\n<\/div>\n<h3 class=\"zm-editable-content clearfix\">\u00a02.\u521b\u5efaMaven\u5b50\u9879\u76ee<\/h3>\n<ul>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-api java\u9879\u76ee\uff0capi\u63a5\u53e3(\u4f5c\u4e3a\u5b50\u9879\u76ee\u88abclient\u548ccore\u6240\u4f9d\u8d56)<\/li>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-model java\u9879\u76ee\uff0c\u5b9e\u4f53\u7c7b(\u4f5c\u4e3a\u5b50\u9879\u76ee\u88abclient\u548ccore\u6240\u4f9d\u8d56)<\/li>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-client web\u9879\u76ee\uff0cdubbo\u5ba2\u6237\u7aef<\/li>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-core web\u9879\u76ee\uff0cdubbo\u670d\u52a1\u7aef(api\u63a5\u53e3\u5b9e\u73b0)<\/li>\n<\/ul>\n<div class=\"zm-editable-content clearfix\"><a href=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/QQ\u622a\u56fe20170608160001.png\" class=\"gallery_colorbox\" rel=\"attachment wp-att-312\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-312\" src=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/QQ\u622a\u56fe20170608160001.png\"  alt=\"QQ\u622a\u56fe20170608160001\" width=\"424\" height=\"159\" srcset=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/QQ\u622a\u56fe20170608160001.png 424w, https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/06\/QQ\u622a\u56fe20170608160001-300x113.png 300w\" sizes=\"auto, (max-width: 424px) 100vw, 424px\" \/><\/a><\/div>\n<h3 class=\"zm-editable-content clearfix\">3.dubbo-demo-core\u9879\u76ee\u7684\u6784\u5efa<\/h3>\n<div class=\"zm-editable-content clearfix\"><span style=\"color: #993300;\">\u8be5\u9879\u76ee\u4e3aDubbo\u670d\u52a1\u7aef\uff0c\u4e3b\u8981\u63d0\u4f9b\u670d\u52a1\u63a5\u53e3\uff0c\u5b8c\u6210\u4e1a\u52a1\u903b\u8f91<\/span><\/div>\n<ul>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-core \u7684pom.xml<\/li>\n<\/ul>\n<blockquote><p>&lt;?xml version=<em>\"1.0\"<\/em>?&gt;<\/p>\n<p>&lt;project xsi:schemaLocation=<em>\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"<\/em> xmlns=<em>\"http:\/\/maven.apache.org\/POM\/4.0.0\"<\/em><\/p>\n<p>xmlns:xsi=<em>\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/em>&gt;<\/p>\n<p>&lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;<\/p>\n<p>&lt;parent&gt;<\/p>\n<p><u>&lt;groupId&gt;top.cwk&lt;\/groupId&gt;<\/u><\/p>\n<p><u>\u00a0\u00a0\u00a0 &lt;artifactId&gt;dubbo-parent&lt;\/artifactId&gt;<\/u><\/p>\n<p><u>\u00a0\u00a0\u00a0 &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;<\/u><\/p>\n<p>&lt;\/parent&gt;<\/p>\n<p>&lt;groupId&gt;top.cwk.core&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>dubbo<\/u>-demo-core&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;0.0.1.0-SNAPSHOT&lt;\/version&gt;<\/p>\n<p>&lt;packaging&gt;war&lt;\/packaging&gt;<\/p>\n<p>&lt;name&gt;<u>dubbo<\/u>-demo-core&lt;\/name&gt;<\/p>\n<p>&lt;url&gt;http:\/\/maven.apache.org&lt;\/url&gt;<\/p>\n<p>&lt;dependencies&gt;<\/p>\n<p>&lt;!-- \u5f15\u7528API --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;top.cwk.api&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>dubbo<\/u>-demo-<u>api<\/u>&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;0.0.1.0-SNAPSHOT&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- \u6570\u636e\u5e93\u8fde\u63a5\u6c60--&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;c3p0&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;c3p0&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;0.9.1.2&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;!-- <u>mybatis<\/u>-spring --&gt;<\/p>\n<p>&lt;dependency&gt;<\/p>\n<p>&lt;groupId&gt;org.mybatis&lt;\/groupId&gt;<\/p>\n<p>&lt;artifactId&gt;<u>mybatis<\/u>-spring&lt;\/artifactId&gt;<\/p>\n<p>&lt;version&gt;1.2.3&lt;\/version&gt;<\/p>\n<p>&lt;\/dependency&gt;<\/p>\n<p>&lt;\/dependencies&gt;<\/p>\n<p>&lt;\/project&gt;<\/p><\/blockquote>\n<ul>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-core \u7684db.properties \u6570\u636e\u5e93\u8fde\u63a5\u914d\u7f6e<\/li>\n<\/ul>\n<blockquote><p>jdbc.user=root<br \/>\njdbc.password=123456<br \/>\njdbc.driverClass=com.mysql.jdbc.Driver<br \/>\njdbc.jdbcUrl=jdbc\\:mysql\\:\/\/127.0.0.1\\:3306\/dubbo_db?useUnicode\\=true&amp;characterEncoding\\=UTF-8<\/p><\/blockquote>\n<ul>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-core \u7684applicationContext.xml spring\u914d\u7f6e\u3001\u6570\u636e\u6e90\u914d\u7f6e<\/li>\n<\/ul>\n<blockquote><p><!-- \u914d\u7f6e\u6570\u636e\u6e90 --><\/p>\n<p>&lt;beans xmlns:xsi=<em>\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/em><\/p>\n<p>xmlns=<em>\"http:\/\/www.springframework.org\/schema\/beans\"<\/em><\/p>\n<p>xmlns:aop=<em>\"http:\/\/www.springframework.org\/schema\/aop\"<\/em><\/p>\n<p>xmlns:context=<em>\"http:\/\/www.springframework.org\/schema\/context\"<\/em><\/p>\n<p>xmlns:tx=<em>\"http:\/\/www.springframework.org\/schema\/tx\"<\/em><\/p>\n<p>xmlns:cache=<em>\"http:\/\/www.springframework.org\/schema\/cache\"<\/em><\/p>\n<p>xmlns:p=<em>\"http:\/\/www.springframework.org\/schema\/p\"<\/em><\/p>\n<p>xmlns:mvc=<em>\"http:\/\/www.springframework.org\/schema\/mvc\"<\/em><\/p>\n<p>xmlns:task=<em>\"http:\/\/www.springframework.org\/schema\/task\"<\/em><\/p>\n<p>xsi:schemaLocation=<em>\"http:\/\/www.springframework.org\/schema\/aop http:\/\/www.springframework.org\/schema\/aop\/spring-aop-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/mvc http:\/\/www.springframework.org\/schema\/mvc\/spring-mvc-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/task http:\/\/www.springframework.org\/schema\/task\/spring-task-4.2.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/beans http:\/\/www.springframework.org\/schema\/beans\/spring-beans-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/cache http:\/\/www.springframework.org\/schema\/cache\/spring-cache-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/tx http:\/\/www.springframework.org\/schema\/tx\/spring-tx-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/context http:\/\/www.springframework.org\/schema\/context\/spring-context-4.0.xsd\"<\/em>&gt;<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;context:component-scan base-package=<em>\"top.cwk.core.*.serviceimpl\"<\/em>\/&gt;<\/p>\n<p>&lt;!-- \u914d\u7f6e\u6570\u636e\u6e90 --&gt;<\/p>\n<p>&lt;context:property-placeholder location=<em>\"classpath:spring\/db.properties\"<\/em>\/&gt;<\/p>\n<p>&lt;bean id=<em>\"dataSource\"<\/em> class=<em>\"com.mchange.v2.c3p0.ComboPooledDataSource\"<\/em>&gt;<\/p>\n<p>&lt;property name=<em>\"driverClass\"<\/em> value=<em>\"${jdbc.driverClass}\"<\/em> \/&gt;<\/p>\n<p>&lt;property name=<em>\"jdbcUrl\"<\/em> value=<em>\"${jdbc.jdbcUrl}\"<\/em> \/&gt;<\/p>\n<p>&lt;property name=<em>\"user\"<\/em> value=<em>\"${jdbc.user}\"<\/em> \/&gt;<\/p>\n<p>&lt;property name=<em>\"password\"<\/em> value=<em>\"${jdbc.password}\"<\/em> \/&gt;<\/p>\n<p>&lt;property name=<em>\"maxPoolSize\"<\/em> value=<em>\"6\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- \u6307\u5b9a\u8fde\u63a5\u6c60\u4e2d\u4fdd\u7559\u7684\u6700\u5c0f\u8fde\u63a5\u6570 --&gt;<\/p>\n<p>&lt;property name=<em>\"minPoolSize\"<\/em> value=<em>\"6\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- \u6307\u5b9a\u8fde\u63a5\u6c60\u7684\u521d\u59cb\u5316\u8fde\u63a5\u6570 \u53d6\u503c\u5e94\u5728minPoolSize \u4e0e maxPoolSize \u4e4b\u95f4.Default:3 --&gt;<\/p>\n<p>&lt;property name=<em>\"initialPoolSize\"<\/em> value=<em>\"6\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- \u6700\u5927\u7a7a\u95f2\u65f6\u95f4,60\u79d2\u5185\u672a\u4f7f\u7528\u5219\u8fde\u63a5\u88ab\u4e22\u5f03\u3002\u82e5\u4e3a0\u5219\u6c38\u4e0d\u4e22\u5f03\u3002 Default:0 --&gt;<\/p>\n<p>&lt;property name=<em>\"maxIdleTime\"<\/em> value=<em>\"60\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- \u5f53\u8fde\u63a5\u6c60\u4e2d\u7684\u8fde\u63a5\u8017\u5c3d\u7684\u65f6\u5019c3p0\u4e00\u6b21\u540c\u65f6\u83b7\u53d6\u7684\u8fde\u63a5\u6570. Default:3 --&gt;<\/p>\n<p>&lt;property name=<em>\"acquireIncrement\"<\/em> value=<em>\"3\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- JDBC\u7684\u6807\u51c6,\u7528\u4ee5\u63a7\u5236\u6570\u636e\u6e90\u5185\u52a0\u8f7d\u7684PreparedStatements\u6570\u91cf\u3002 \u4f46\u7531\u4e8e\u9884\u7f13\u5b58\u7684statements\u5c5e\u4e8e\u5355\u4e2aconnection\u800c\u4e0d\u662f\u6574\u4e2a\u8fde\u63a5\u6c60\u6240\u4ee5\u8bbe\u7f6e\u8fd9\u4e2a\u53c2\u6570\u9700\u8981\u8003\u8651\u5230\u591a\u65b9\u9762\u7684\u56e0\u6570.\u5982\u679cmaxStatements\u4e0emaxStatementsPerConnection\u5747\u4e3a0,\u5219\u7f13\u5b58\u88ab\u5173\u95ed\u3002Default:0 --&gt;<\/p>\n<p>&lt;property name=<em>\"maxStatements\"<\/em> value=<em>\"0\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- \u6bcf60\u79d2\u68c0\u67e5\u6240\u6709\u8fde\u63a5\u6c60\u4e2d\u7684\u7a7a\u95f2\u8fde\u63a5.Default:0 --&gt;<\/p>\n<p>&lt;property name=<em>\"idleConnectionTestPeriod\"<\/em> value=<em>\"0\"<\/em> \/&gt;<\/p>\n<p>&lt;property name=<em>\"autoCommitOnClose\"<\/em> value=<em>\"false\"<\/em>\/&gt;<\/p>\n<p>&lt;\/bean&gt;<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;bean id=<em>\"sqlSessionFactory\"<\/em> class=<em>\"org.mybatis.spring.SqlSessionFactoryBean\"<\/em>&gt;<\/p>\n<p>&lt;property name=<em>\"dataSource\"<\/em> ref=<em>\"dataSource\"<\/em>&gt;&lt;\/property&gt;<\/p>\n<p>&lt;property name=<em>\"mapperLocations\"<\/em> value=<em>\"classpath:top\/cwk\/mapper\/**\/*Mapper.xml\"<\/em>\/&gt;<\/p>\n<p>&lt;!-- \u5c06myBatis\u914d\u7f6e\u52a0\u8f7d\u5230sessionFactory --&gt;<\/p>\n<p>&lt;property name=<em>\"configLocation\"<\/em> value=<em>\"classpath:spring\/mybatis.cfg.xml\"<\/em> \/&gt;<\/p>\n<p>&lt;\/bean&gt;<\/p>\n<p>&lt;!-- \u914d\u7f6e\u626b\u63cf<u>mybatis<\/u>\u7684\u63a5\u53e3 --&gt;<\/p>\n<p>&lt;bean class=<em>\"<u>org.mybatis.spring.mapper.MapperScannerConfigurer<\/u>\"<\/em>&gt;<\/p>\n<p>&lt;property name=<em>\"basePackage\"<\/em> value=<em>\"top.cwk.core.*.mapper\"<\/em>&gt;&lt;\/property&gt;<\/p>\n<p>&lt;property name=<em>\"sqlSessionFactoryBeanName\"<\/em> value=<em>\"sqlSessionFactory\"<\/em>&gt;&lt;\/property&gt;<\/p>\n<p>&lt;\/bean&gt;<\/p>\n<p>&lt;bean id=<em>\"txManager\"<\/em><\/p>\n<p>class=<em>\"org.springframework.jdbc.datasource.DataSourceTransactionManager\"<\/em>&gt;<\/p>\n<p>&lt;property name=<em>\"dataSource\"<\/em> ref=<em>\"dataSource\"<\/em>&gt;&lt;\/property&gt;<\/p>\n<p>&lt;\/bean&gt;<\/p>\n<p>&lt;tx:advice id=<em>\"txAdvice\"<\/em> transaction-manager=<em>\"txManager\"<\/em>&gt;<\/p>\n<p>&lt;tx:attributes&gt;<\/p>\n<p>&lt;tx:method name=<em>\"save*\"<\/em> propagation=<em>\"REQUIRED\"<\/em> rollback-for=<em>\"java.lang.Exception\"<\/em>\/&gt;<\/p>\n<p>&lt;tx:method name=<em>\"exe*\"<\/em> propagation=<em>\"REQUIRED\"<\/em> rollback-for=<em>\"java.lang.Exception\"<\/em>\/&gt;<\/p>\n<p>&lt;tx:method name=<em>\"update*\"<\/em> propagation=<em>\"REQUIRED\"<\/em> rollback-for=<em>\"java.lang.Exception\"<\/em>\/&gt;<\/p>\n<p>&lt;tx:method name=<em>\"add*\"<\/em> propagation=<em>\"REQUIRED\"<\/em> rollback-for=<em>\"java.lang.Exception\"<\/em>\/&gt;<\/p>\n<p>&lt;tx:method name=<em>\"select*\"<\/em> propagation=<em>\"SUPPORTS\"<\/em> read-only=<em>\"true\"<\/em>\/&gt;<\/p>\n<p>&lt;tx:method name=<em>\"find*\"<\/em> propagation=<em>\"SUPPORTS\"<\/em> read-only=<em>\"true\"<\/em>\/&gt;<\/p>\n<p>&lt;tx:method name=<em>\"get*\"<\/em> propagation=<em>\"SUPPORTS\"<\/em> read-only=<em>\"true\"<\/em>\/&gt;<\/p>\n<p>&lt;\/tx:attributes&gt;<\/p>\n<p>&lt;\/tx:advice&gt;<\/p>\n<p>&lt;aop:config&gt;<\/p>\n<p>&lt;aop:advisor advice-ref=<em>\"txAdvice\"<\/em><\/p>\n<p>pointcut=<em>\"execution(* top.cwk.core.*.serviceimpl.*.*(**))\"<\/em> \/&gt;<\/p>\n<p>&lt;\/aop:config&gt;<\/p>\n<p>&lt;!-- \u5f15\u5165<u>dubbo<\/u>\u914d\u7f6e\u6587\u4ef6 --&gt;<\/p>\n<p>&lt;import resource=<em>\"spring-dubbo.xml\"<\/em>\/&gt;<\/p>\n<p>&lt;\/beans&gt;<\/p>\n<p><!-- \u5c06myBatis\u914d\u7f6e\u52a0\u8f7d\u5230sessionFactory --><\/p>\n<p><!-- \u914d\u7f6e\u626b\u63cfmybatis\u7684\u63a5\u53e3 --><\/p>\n<p><!-- \u5f15\u5165dubbo\u914d\u7f6e\u6587\u4ef6 --><\/p><\/blockquote>\n<ul>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-core \u7684spring-dubbo.xml \u914d\u7f6edubbo\u670d\u52a1<\/li>\n<\/ul>\n<blockquote><p>&lt;beans xmlns:xsi=<em>\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/em><\/p>\n<p>xmlns=<em>\"http:\/\/www.springframework.org\/schema\/beans\"<\/em> xmlns:dubbo=<em>\"http:\/\/code.alibabatech.com\/schema\/dubbo\" <\/em><\/p>\n<p>xsi:schemaLocation=<em>\"http:\/\/www.springframework.org\/schema\/beans<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/beans\/spring-beans-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0 http:\/\/code.alibabatech.com\/schema\/dubbo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0 http:\/\/code.alibabatech.com\/schema\/dubbo\/dubbo.xsd\"<\/em>&gt;<\/p>\n<p>&lt;dubbo:application name=<em>\"cwk-dubbo-core-provider\"<\/em>\/&gt;<\/p>\n<p>&lt;!-- \u4f7f\u7528<u>zookeeper<\/u>\u6ce8\u518c\u4e2d\u5fc3\u66b4\u9732\u670d\u52a1\u5730\u5740 --&gt;<\/p>\n<p>&lt;dubbo:registry id=<em>\"cwk-provider\"<\/em> address=<em>\"zookeeper:\/\/127.0.0.1:2181\"<\/em> check=<em>\"false\"<\/em> subscribe=<em>\"false\"<\/em> register=<em>\"\"<\/em>\/&gt;<\/p>\n<p>&lt;dubbo:protocol id=<em>\"cwk\"<\/em> name=<em>\"dubbo\"<\/em> port=<em>\"21999\"<\/em>\/&gt;<\/p>\n<p>&lt;dubbo:provider registry=<em>\"cwk-provider\"<\/em> protocol=<em>\"cwk\"<\/em>\/&gt;<\/p>\n<p>&lt;!-- \u58f0\u660e\u9700\u8981\u66b4\u9732\u7684\u670d\u52a1\u63a5\u53e3 --&gt;<\/p>\n<p>&lt;dubbo:service interface=<em>\"top.cwk.api.customer.ICustomerService\"<\/em> ref=<em>\"customerService\"<\/em> timeout=<em>\"10000\"<\/em>\/&gt;<\/p>\n<p>&lt;\/beans&gt;<\/p><\/blockquote>\n<ul>\n<li class=\"zm-editable-content clearfix\">dubbo-demo-core \u7684mybatis.cfg.xml mybatis\u914d\u7f6e<\/li>\n<\/ul>\n<blockquote><p>&lt;?xml version=<em>\"1.0\"<\/em> encoding=<em>\"UTF-8\"<\/em> ?&gt;<\/p>\n<p>&lt;!DOCTYPE configuration<\/p>\n<p>PUBLIC \"-\/\/mybatis.org\/\/DTD Config 3.0\/\/EN\"<\/p>\n<p>\"http:\/\/mybatis.org\/dtd\/mybatis-3-config.dtd\"&gt;<\/p>\n<p>&lt;configuration&gt;<\/p>\n<p>&lt;!-- \u914d\u7f6e\u5b9e\u4f53\u5bf9\u8c61\u7684\u5305 --&gt;<\/p>\n<p>&lt;typeAliases&gt;<\/p>\n<p>&lt;package name=<em>\"top.cwk.model\"<\/em>\/&gt;<\/p>\n<p>&lt;\/typeAliases&gt;<\/p>\n<p>&lt;\/configuration&gt;<\/p><\/blockquote>\n<h3 class=\"zm-editable-content clearfix\">3.dubbo-demo-client\u9879\u76ee\u7684\u6784\u5efa<\/h3>\n<ul>\n<li>applicationContext.xml<\/li>\n<\/ul>\n<blockquote><p>&lt;?xml version=<em>\"1.0\"<\/em> encoding=<em>\"UTF-8\"<\/em>?&gt;<\/p>\n<p>&lt;beans xmlns:xsi=<em>\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"<\/em><\/p>\n<p>xmlns=<em>\"http:\/\/www.springframework.org\/schema\/beans\"<\/em><\/p>\n<p>xmlns:context=<em>\"http:\/\/www.springframework.org\/schema\/context\"<\/em><\/p>\n<p>xmlns:dubbo=<em>\"http:\/\/code.alibabatech.com\/schema\/dubbo\"<\/em><\/p>\n<p>xmlns:mvc=<em>\"http:\/\/www.springframework.org\/schema\/mvc\"<\/em><\/p>\n<p>xsi:schemaLocation=<em>\"http:\/\/www.springframework.org\/schema\/mvc http:\/\/www.springframework.org\/schema\/mvc\/spring-mvc-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/code.alibabatech.com\/schema\/dubbo http:\/\/code.alibabatech.com\/schema\/dubbo\/dubbo.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/beans http:\/\/www.springframework.org\/schema\/beans\/spring-beans-4.0.xsd<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 http:\/\/www.springframework.org\/schema\/context http:\/\/www.springframework.org\/schema\/context\/spring-context-4.0.xsd\"<\/em>&gt;<\/p>\n<p>&lt;context:annotation-config\/&gt;<\/p>\n<p>&lt;context:component-scan base-package=<em>\"top.cwk.controller\"<\/em> \/&gt;<\/p>\n<p>&lt;!-- \u5f15\u5165<u>dubbo<\/u>\u914d\u7f6e\u6587\u4ef6 --&gt;<\/p>\n<p>&lt;import resource=<em>\"spring-dubbo.xml\"<\/em>\/&gt;<\/p>\n<p>&lt;\/beans&gt;<\/p><\/blockquote>\n<h3>4.\u5b8c\u6574\u7684demo\u4e0b\u8f7d<\/h3>\n<p><a href=\"https:\/\/git.oschina.net\/god007\/ssm_dubbo_zookeeper.git\" target=\"_blank\" rel=\"noopener\">https:\/\/git.oschina.net\/god007\/ssm_dubbo_zookeeper.git<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.chenweikang.top\">\u5de6\u624b\u4ee3\u7801\u53f3\u624b\u8bd7<\/a> &raquo; <a href=\"https:\/\/www.chenweikang.top\/?p=292\">Dubbo+Zookeeper+SSM\u6846\u67b6\u6574\u5408\u6784\u5efa\u5206\u5e03\u5f0f\u9879\u76ee<\/a><\/p><div class=\"__youshang\">\r\n            <div id=\"__youshang_popup\" class=\"wechat popup\" style=\"display: none;\">\r\n                <div class=\"head\">~\u8c22\u8c22\u6253\u8d4f~<\/div>\r\n                <div class=\"qrcode\"><div class=\"qrcode-li wechat\" ><img src=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2019\/07\/wexin.png\" \/><\/div><div class=\"qrcode-li alipay\" style=\"display:none;\"><img src=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2019\/07\/ali-pay.png\" \/><\/div><div class=\"qrcode-li hongbao\" style=\"display:none;\"><img src=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2019\/07\/ali-hongbao.png\" \/><\/div><\/div>\r\n                <ul class=\"platform\"><li class=\"icon-wechat active\" data-bg-color=\"#05af4e\" data-thanks=\"~\u8c22\u8c22\u6253\u8d4f~\"><\/li><li class=\"icon-alipay \" data-bg-color=\"#00a2ea\" data-thanks=\"~\u8c22\u8c22\u6253\u8d4f~\"><\/li><li class=\"icon-hongbao \" data-bg-color=\"#dd5746\" data-thanks=\"<p>\u626b\u7801\u9886\u7ea2\u5305<\/p><p style='margin-top: 24px;'>\uff08\u4f59\u989d\u5b9d\u652f\u4ed8\u65f6\u53ef\u62b5\u73b0\uff09<\/p>\"><\/li><\/ul>\r\n            <\/div>\r\n            <a href=\"javascript:void(0);\" id=\"__youshang_btn\">\u8d4f<\/a>\r\n        <\/div>","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001Dubbo\u4e0eZookeeper\u4ecb\u7ecd Dubbo\u5efa\u8bae\u4f7f\u7528Zookeeper\u4f5c\u4e3a\u670d\u52a1\u7684\u6ce8\u518c\u4e2d\u5fc3\u3002 1.\u00a0\u00a0 Z [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":296,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[20,35,42],"class_list":["post-292","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website","tag-java","tag-ssm","tag-42"],"_links":{"self":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/posts\/292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=292"}],"version-history":[{"count":0,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/posts\/292\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/media\/296"}],"wp:attachment":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}