{"id":2924,"date":"2021-01-06T09:06:47","date_gmt":"2021-01-06T01:06:47","guid":{"rendered":"http:\/\/122.152.205.50\/wordpress\/?p=2924"},"modified":"2021-01-09T13:28:50","modified_gmt":"2021-01-09T05:28:50","slug":"poet%e6%8a%80%e6%9c%af","status":"publish","type":"post","link":"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924","title":{"rendered":"poet\u6280\u672f"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_16 counter-hierarchy counter-decimal ez-toc-grey\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\">\u76ee\u5f55<\/p>\n<span class=\"ez-toc-title-toggle\"><a class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" style=\"display: none;\"><i class=\"ez-toc-glyphicon ez-toc-icon-toggle\"><\/i><\/a><\/span><\/div>\n<nav><ul class=\"ez-toc-list ez-toc-list-level-1\"><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-1\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#%E4%B8%80%E3%80%81%E7%AE%80%E4%BB%8B\" title=\"\u4e00\u3001\u7b80\u4ecb\">\u4e00\u3001\u7b80\u4ecb<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-2\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#%E4%BA%8C%E3%80%81%E7%9B%B8%E5%85%B3%E8%B5%84%E6%96%99\" title=\"\u4e8c\u3001\u76f8\u5173\u8d44\u6599\">\u4e8c\u3001\u76f8\u5173\u8d44\u6599<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-2\"><a class=\"ez-toc-link ez-toc-heading-3\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#%E4%B8%89%E3%80%81%E8%AF%AD%E6%B3%95\" title=\"\u4e09\u3001\u8bed\u6cd5\">\u4e09\u3001\u8bed\u6cd5<\/a><ul class=\"ez-toc-list-level-3\"><li class=\"ez-toc-heading-level-3\"><a class=\"ez-toc-link ez-toc-heading-4\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#1%E5%8D%A0%E4%BD%8D\" title=\"1.\u5360\u4f4d\">1.\u5360\u4f4d<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-3\"><a class=\"ez-toc-link ez-toc-heading-5\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#2%E5%88%9B%E5%BB%BA\" title=\"2.\u521b\u5efa\">2.\u521b\u5efa<\/a><ul class=\"ez-toc-list-level-4\"><li class=\"ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-6\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#1%EF%BC%89%E5%88%9B%E5%BB%BA%E7%B1%BB\" title=\"1\uff09\u521b\u5efa\u7c7b\">1\uff09\u521b\u5efa\u7c7b<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-7\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#2%EF%BC%89%E5%88%9B%E5%BB%BA%E7%B1%BB%E6%96%87%E4%BB%B6\" title=\"2\uff09\u521b\u5efa\u7c7b\u6587\u4ef6\">2\uff09\u521b\u5efa\u7c7b\u6587\u4ef6<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-8\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#3%EF%BC%89%E5%88%9B%E5%BB%BA%E6%96%B9%E6%B3%95\" title=\"3\uff09\u521b\u5efa\u65b9\u6cd5\">3\uff09\u521b\u5efa\u65b9\u6cd5<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-9\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#4%EF%BC%89%E6%B7%BB%E5%8A%A0%E5%B1%9E%E6%80%A7\" title=\"4\uff09\u6dfb\u52a0\u5c5e\u6027\">4\uff09\u6dfb\u52a0\u5c5e\u6027<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-10\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#5%EF%BC%89%E6%9E%9A%E4%B8%BE\" title=\"5\uff09\u679a\u4e3e\">5\uff09\u679a\u4e3e<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-11\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#6%EF%BC%89%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB\" title=\"6\uff09\u533f\u540d\u5185\u90e8\u7c7b\">6\uff09\u533f\u540d\u5185\u90e8\u7c7b<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-12\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#7%EF%BC%89%E6%B3%A8%E8%A7%A3\" title=\"7\uff09\u6ce8\u89e3\">7\uff09\u6ce8\u89e3<\/a><\/li><li class=\"ez-toc-page-1 ez-toc-heading-level-4\"><a class=\"ez-toc-link ez-toc-heading-13\" href=\"http:\/\/xinyiworld.top\/wordpress_it\/?p=2924\/#8%EF%BC%89%E6%96%87%E6%A1%A3\" title=\"8\uff09\u6587\u6863\">8\uff09\u6587\u6863<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%E4%B8%80%E3%80%81%E7%AE%80%E4%BB%8B\"><\/span>\u4e00\u3001\u7b80\u4ecb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>squareup\u5f00\u53d1\u4e00\u5957\u52a8\u6001\u751f\u6210java\u4ee3\u7801\u7684\u6846\u67b6\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/\/ \u4f9d\u8d56\u94fe\u63a5<br>implementation 'com.squareup:javapoet:1.11.1'<\/pre>\n\n\n\n<h2><span class=\"ez-toc-section\" id=\"%E4%BA%8C%E3%80%81%E7%9B%B8%E5%85%B3%E8%B5%84%E6%96%99\"><\/span>\u4e8c\u3001\u76f8\u5173\u8d44\u6599<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000021177287\">https:\/\/segmentfault.com\/a\/1190000021177287<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/wcs542882916\/article\/details\/83117230\">https:\/\/blog.csdn.net\/wcs542882916\/article\/details\/83117230<\/a>\uff08\u5341\u5206\u8be6\u7ec6\uff09<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/l540675759\/article\/details\/82931785\">https:\/\/blog.csdn.net\/l540675759\/article\/details\/82931785<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/alex_xfboy\/article\/details\/88253799\">https:\/\/blog.csdn.net\/alex_xfboy\/article\/details\/88253799<\/a>\uff08\u4e0d\u4f7f\u7528poet\u751f\u6210java\u4ee3\u7801\u7684\u7387\u76f4\u4e0e\u75db\u82e6\uff09<\/p>\n\n\n\n<p><a href=\"https:\/\/www.jianshu.com\/p\/4c0fbe5b27a2\">https:\/\/www.jianshu.com\/p\/4c0fbe5b27a2<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/zhouphenix\/Docs\/blob\/master\/JavaPoet%E4%BD%BF%E7%94%A8%E8%AF%A6%E8%A7%A3.md\">https:\/\/github.com\/zhouphenix\/Docs\/blob\/master\/JavaPoet%E4%BD%BF%E7%94%A8%E8%AF%A6%E8%A7%A3.md<\/a>\uff08github\u4e0a\u6574\u7406\u7684poet\u8be6\u7ec6\u8bed\u6cd5\uff09<\/p>\n\n\n\n<p><a href=\"https:\/\/blog.csdn.net\/io_field\/article\/details\/89355941\">https:\/\/blog.csdn.net\/io_field\/article\/details\/89355941<\/a><\/p>\n\n\n\n<h2 id=\"mce_6\"><span class=\"ez-toc-section\" id=\"%E4%B8%89%E3%80%81%E8%AF%AD%E6%B3%95\"><\/span>\u4e09\u3001\u8bed\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3><span class=\"ez-toc-section\" id=\"1%E5%8D%A0%E4%BD%8D\"><\/span>1.\u5360\u4f4d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>$L\uff1a \u53d6\u53d8\u91cf\u5b57\u9762\u91cf\u503c\u66ff\u6362\u4e4b <\/p>\n\n\n\n<p>\u5047\u5982\u4f60\u4f20\u9012\u662f\u5b57\u7b26\u4e32\uff0c\u751f\u6210\u7684java\u4ee3\u7801\u4f1a\u53bb\u6389\u5b57\u7b26\u4e32\u4e24\u7aef\u7684\u5f15\u53f7\u3002<\/p>\n\n\n\n<p>$S\uff1a\u8868\u793a\u53d6\u53d8\u91cf\u5b57\u9762\u91cf\u503c\u52a0\u53cc\u5f15\u53f7\u540e\u66ff\u6362\u4e4b<\/p>\n\n\n\n<p>$T\uff1a\u8868\u793a\u7c7b\u578b\uff0c\u5728\u751f\u6210\u4ee3\u7801\u65f6\u81ea\u52a8\u53bb<code>import<\/code>\u7c7b\u578b\u3002<\/p>\n\n\n\n<p>\u5982\u4f55\u5173\u8054\u5f53\u524d\u73af\u5883\u4e0d\u5b58\u5728\u7684\u7c7b\uff1a\u901a\u8fc7ClassName.get(\u5305\u540d\uff0c\u7c7b\u540d\uff09<\/p>\n\n\n\n<p>$N\uff1a\u7528\u4e8e\u5173\u8054\u58f0\u660e\uff0c\u5982\u5173\u8054\u67d0\u4e2a\u65b9\u6cd5\u540d\u3002<\/p>\n\n\n\n<h3><span class=\"ez-toc-section\" id=\"2%E5%88%9B%E5%BB%BA\"><\/span>2.\u521b\u5efa<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u4e00\u822c\u7b80\u5355\u7c7b\u578b\u53ef\u4ee5\u76f4\u63a5\u5199\uff0c\u590d\u6742\u7c7b\u578b\u53ef\u4ee5\u901a\u8fc7\u5bf9\u5e94\u7684build\u6784\u5efa\u3002<\/p>\n\n\n\n<h4><span class=\"ez-toc-section\" id=\"1%EF%BC%89%E5%88%9B%E5%BB%BA%E7%B1%BB\"><\/span>1\uff09\u521b\u5efa\u7c7b<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u4e00\u822c\u7c7b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>TypeSpec helloWorld = TypeSpec.classBuilder(\"HelloWorld\")\n    .addModifiers(Modifier.PUBLIC, Modifier.FINAL)\n    .addMethod(main)\n    .build();<\/code><\/pre>\n\n\n\n<p>\u63a5\u53e3\uff1a<\/p>\n\n\n<p>TypeSpec.interfaceBuilder(\"HelloWorld\")<\/p>\n\n\n\n<p> \u63a5\u53e3\u65b9\u6cd5\u5fc5\u987b\u662f<code>PUBLIC ABSTRACT<\/code>\uff0c\u63a5\u53e3\u5c5e\u6027\u5fc5\u987b\u662f<code>PUBLIC STATIC FINAL<\/code>\u3002 <\/p>\n\n\n\n<h4 id=\"mce_10\"><span class=\"ez-toc-section\" id=\"2%EF%BC%89%E5%88%9B%E5%BB%BA%E7%B1%BB%E6%96%87%E4%BB%B6\"><\/span>2\uff09\u521b\u5efa\u7c7b\u6587\u4ef6<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>JavaFile javaFile = JavaFile.builder(\"com.example.helloworld\", helloWorld)\n    .build();<\/code><\/pre>\n\n\n\n<h4 id=\"mce_13\"><span class=\"ez-toc-section\" id=\"3%EF%BC%89%E5%88%9B%E5%BB%BA%E6%96%B9%E6%B3%95\"><\/span>3\uff09\u521b\u5efa\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u4e00\u822c\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MethodSpec main = MethodSpec.methodBuilder(\"main\")\n    .addModifiers(Modifier.PUBLIC, Modifier.STATIC)\n    .returns(void.class)\n    .addParameter(String[].class, \"args\")\n    .addStatement(\"$T.out.println($S)\", System.class, \"Hello, JavaPoet!\")\n    .build();<\/code><\/pre>\n\n\n\n<p>\u6784\u9020\u65b9\u6cd5\uff1a<\/p>\n\n\n<p>MethodSpec.constructorBuilder()<\/p>\n\n\n\n<p>\u53c2\u6570\uff1a<\/p>\n\n\n\n<p>\u5728\u65b9\u6cd5\u6216\u6784\u9020\u51fd\u6570\u4e0a\u58f0\u660e\u53c2\u6570\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528<code>ParameterSpec.builder()<\/code>\u6216<code>MethodSpec<\/code>\u7684API<code>addParameter()<\/code>\uff1a <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ParameterSpec android = ParameterSpec.builder(String.class, \"android\")\n    .addModifiers(Modifier.FINAL)\n    .build();\n\nMethodSpec welcomeOverlords = MethodSpec.methodBuilder(\"welcomeOverlords\")\n    .addParameter(android)\n    .addParameter(String.class, \"robot\", Modifier.FINAL)\n    .build();<\/code><\/pre>\n\n\n\n<h4 id=\"mce_20\"><span class=\"ez-toc-section\" id=\"4%EF%BC%89%E6%B7%BB%E5%8A%A0%E5%B1%9E%E6%80%A7\"><\/span>4\uff09\u6dfb\u52a0\u5c5e\u6027<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>FieldSpec android = FieldSpec.builder(String.class, \"android\")\n    .addModifiers(Modifier.PRIVATE, Modifier.FINAL)\n    .build();\n\nTypeSpec helloWorld = TypeSpec.classBuilder(\"HelloWorld\")\n    .addModifiers(Modifier.PUBLIC)\n    .addField(android)\n    .addField(String.class, \"robot\", Modifier.PRIVATE, Modifier.FINAL)\n    .build();<\/code><\/pre>\n\n\n\n<h4 id=\"mce_80\"><span class=\"ez-toc-section\" id=\"5%EF%BC%89%E6%9E%9A%E4%B8%BE\"><\/span>5\uff09\u679a\u4e3e<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n<p>TypeSpec.enumBuilder(\"Roshambo\")<\/p>\n\n\n\n<h4 id=\"mce_82\"><span class=\"ez-toc-section\" id=\"6%EF%BC%89%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB\"><\/span>6\uff09\u533f\u540d\u5185\u90e8\u7c7b<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n<p>TypeSpec.anonymousClassBuilder<\/p>\n\n\n\n<h4 id=\"mce_85\"><span class=\"ez-toc-section\" id=\"7%EF%BC%89%E6%B3%A8%E8%A7%A3\"><\/span>7\uff09\u6ce8\u89e3<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u4e3a\u65b9\u6cd5\u6dfb\u52a0\u6ce8\u89e3\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MethodSpec.methodBuilder(\"toString\")\n    .addAnnotation(Override.class)<\/code><\/pre>\n\n\n\n<p>\u4f7f\u7528AnnotationSpec.builder()\u7ed9\u6ce8\u89e3\u8bbe\u7f6e\u5c5e\u6027\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MethodSpec logRecord = MethodSpec.methodBuilder(\"recordEvent\")\n    .addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT)\n    .addAnnotation(AnnotationSpec.builder(Headers.class)\n        .addMember(\"accept\", \"$S\", \"application\/json; charset=utf-8\")\n        .addMember(\"userAgent\", \"$S\", \"Square Cash\")\n        .build())\n    .addParameter(LogRecord.class, \"logRecord\")\n    .returns(LogReceipt.class)\n    .build();<\/code><\/pre>\n\n\n\n<h4 id=\"mce_88\"><span class=\"ez-toc-section\" id=\"8%EF%BC%89%E6%96%87%E6%A1%A3\"><\/span>8\uff09\u6587\u6863<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\u5c5e\u6027\uff0c\u65b9\u6cd5\u548c\u7c7b\u578b\u80fd\u4f7f\u7528Javadoc\u6587\u6863\u5316\uff1a<\/p>\n\n\n\n<p><\/p>\n<button class=\"simplefavorite-button\" data-postid=\"2924\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>\u76ee\u5f55 \u4e00\u3001\u7b80\u4ecb\u4e8c\u3001\u76f8\u5173\u8d44\u6599\u4e09\u3001\u8bed\u6cd51.\u5360\u4f4d2.\u521b\u5efa1\uff09\u521b\u5efa\u7c7b2\uff09\u521b\u5efa\u7c7b\u6587\u4ef63\uff09\u521b\u5efa\u65b9\u6cd54\uff09\u6dfb\u52a0\u5c5e\u60275 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[100],"tags":[],"_links":{"self":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/2924"}],"collection":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2924"}],"version-history":[{"count":54,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/2924\/revisions"}],"predecessor-version":[{"id":3082,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/2924\/revisions\/3082"}],"wp:attachment":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2924"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}