{"id":3159,"date":"2015-12-23T16:21:50","date_gmt":"2015-12-23T08:21:50","guid":{"rendered":"http:\/\/leybreeze.com\/blog\/?p=3159"},"modified":"2016-02-19T13:50:31","modified_gmt":"2016-02-19T05:50:31","slug":"%e5%b8%b8%e8%a7%81-java-%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e4%b8%8e%e5%b7%a5%e5%85%b7%e7%ae%80%e4%bb%8b","status":"publish","type":"post","link":"http:\/\/leybreeze.com\/blog\/?p=3159","title":{"rendered":"\u5e38\u89c1 Java \u6846\u67b6\u3001\u5e93\u4e0e\u5de5\u5177\u7b80\u4ecb"},"content":{"rendered":"<p>\u672c\u6587\u5c06\u4e0d\u5b9a\u671f\u66f4\u65b0\u4e00\u4e9b\u5e38\u89c1\u7684 Java \u6846\u67b6\u4e0e\u5e93\uff0c\u6216\u662f\u7b80\u5355\u7684\u4ecb\u7ecd\u4e0e\u611f\u60f3\u3002<\/p>\n<p>\u6846\u67b6<\/p>\n<ul>\n<li><a href=\"http:\/\/spring.io\/\">Spring<\/a>\u00a0&#8211; \u6587\u6863\u4e0e\u5b9e\u4f8b\u4e30\u5bcc\uff1b\u9002\u5408\u5927\u4e2d\u578b\u7cfb\u7edf<\/li>\n<li><a href=\"http:\/\/www.playframework-ja.org\/\">Play Framework<\/a>\u00a0&#8211; \u8f7b\u91cf\uff1b\u9002\u5408 RESTful\uff1b\u6e90\u4ee3\u7801\u4fee\u6539\u540e\u65e0\u9700\u91cd\u542f\u7f16\u8bd1\u5668\u4e0e\u670d\u52a1\u5668\uff1b\u5185\u7f6e JSON \u5e93<\/li>\n<li><a href=\"http:\/\/dropwizard.io\/\">Dropwizard<\/a><\/li>\n<\/ul>\n<p>\u670d\u52a1\u5668\uff08Server\uff09<\/p>\n<ul>\n<li><a href=\"https:\/\/mhttpd.apache.org\/\">Apache HTTP Server<\/a><\/li>\n<li><a href=\"http:\/\/www.nginx.org\/\">nginx<\/a><\/li>\n<li><a href=\"http:\/\/tomcat.apache.org\/\">Tomcat<\/a><\/li>\n<li><a href=\"http:\/\/www.eclipse.org\/jetty\/\">Jetty<\/a><\/li>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/jp\/middleware\/weblogic\/overview\/index.html\">WebLogic<\/a><\/li>\n<li><a href=\"https:\/\/glassfish.java.net\/\">GlassFish<\/a><\/li>\n<li><a href=\"http:\/\/www.wildfly.org\/\">WildFly(JBoss)<\/a><\/li>\n<li><a href=\"https:\/\/developer.ibm.com\/wasdev\/\">WebSphere(Liberty Profile)<\/a><\/li>\n<\/ul>\n<p>IDE<\/p>\n<ul>\n<li><a href=\"http:\/\/www.eclipse.org\/\">Eclipse<\/a><\/li>\n<li><a href=\"http:\/\/www.jetbrains.com\/idea\/\">IntelliJ IDEA<\/a><\/li>\n<li><a href=\"http:\/\/www.netbeans.org\/index_ja.html\">NetBeans<\/a><\/li>\n<\/ul>\n<p>\u6807\u51c6 API<\/p>\n<ul>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/jp\/java\/javase\/overview\/index.html\">Java SE(Java Platform, Standard Edition)<\/a><\/li>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/jp\/java\/javaee\/overview\/index.html\">Java EE(Java Platform, Enterprise Edition)<\/a><\/li>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/jp\/java\/javame\/overview\/index.html\">Java ME(Java Platform, Micro Edition)<\/a><\/li>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/jp\/java\/javafx\/overview\/index.html\">JavaFX<\/a><\/li>\n<\/ul>\n<p>\u6a21\u677f\u5f15\u64ce\uff08Template engine\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/www.thymeleaf.org\/\">Thymeleaf<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/spullara\/mustache.java#readme\">Mustache.java<\/a><\/li>\n<li><a href=\"http:\/\/velocity.apache.org\/\">Apache Velocity<\/a><\/li>\n<\/ul>\n<p>\u6570\u636e\u5e93\uff08Database\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/hibernate.org\/\">Hibernate<\/a>\u00a0&#8211; \u57fa\u4e8e\u5bf9\u8c61\u6a21\u578b\uff0c\u53ef\u8bfb\u6027\u66f4\u5f3a\uff0c\u6027\u80fd\u7a0d\u900a<\/li>\n<li><a href=\"http:\/\/blog.mybatis.org\/\">MyBatis<\/a>\u00a0&#8211; \u901a\u8fc7 XML \u5c06 SQL \u4e0e\u5bf9\u8c61\u6620\u5c04\uff0c\u5bf9\u65e7\u6570\u636e\u5e93\u652f\u6301\u8f83\u597d\uff0c\u6027\u80fd\u4e5f\u6bd4 Hibernate \u5f3a<\/li>\n<li><a href=\"http:\/\/www.h2database.com\/html\/main.html\">H2 Database<\/a><\/li>\n<li><a href=\"http:\/\/flywaydb.org\/\">Flyway<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/dbutils\/\">Commons DbUtils<\/a><\/li>\n<\/ul>\n<p>\u5bf9\u8c61\u6620\u5c04\u5de5\u5177\uff08Object mapping\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/jackson.codehaus.org\/\">Jackson<\/a><\/li>\n<li><a href=\"https:\/\/code.google.com\/p\/google-gson\/\">Gson<\/a><\/li>\n<li><a href=\"http:\/\/xstream.codehaus.org\/\">XStream<\/a><\/li>\n<li><a href=\"http:\/\/www.dom4j.org\/\">dom4j<\/a><\/li>\n<li><a href=\"http:\/\/orangesignal.github.io\/orangesignal-csv\/index.html\">OrangeSignal CSV<\/a><\/li>\n<li><a href=\"http:\/\/poi.apache.org\/\">POI<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/takezoe\/xlsbeans\">XLSBeans<\/a><\/li>\n<li><a href=\"http:\/\/jxls.sourceforge.net\/\">jXLS<\/a><\/li>\n<li><a href=\"http:\/\/pdfbox.apache.org\/\">Apache PDFBox<\/a><\/li>\n<li><a href=\"http:\/\/community.jaspersoft.com\/project\/jasperreports-library\">JasperReports<\/a><\/li>\n<\/ul>\n<p>\u6d4b\u8bd5\u5de5\u5177\uff08Testing\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/junit.org\/\">JUnit<\/a><\/li>\n<li><a href=\"http:\/\/testng.org\/\">testNG<\/a><\/li>\n<li><a href=\"https:\/\/code.google.com\/p\/spock\/\">Spock<\/a><\/li>\n<li><a href=\"http:\/\/www.gebish.org\/\">Geb<\/a><\/li>\n<li><a href=\"http:\/\/jmockit.github.io\/\">JMockit<\/a><\/li>\n<\/ul>\n<p>\u65e5\u5fd7\u5de5\u5177\uff08Logging\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/logback.qos.ch\/\">Logback<\/a><\/li>\n<li><a href=\"http:\/\/logging.apache.org\/log4j\/2.x\/\">log4j2<\/a><\/li>\n<li><a href=\"http:\/\/www.slf4j.org\/\">SLF4J<\/a><\/li>\n<\/ul>\n<p>\u5e93\uff08Library\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/code.google.com\/p\/guava-libraries\/\">Guava<\/a><\/li>\n<li><a href=\"http:\/\/projectlombok.org\/\">Lombok<\/a><\/li>\n<li><a href=\"https:\/\/code.google.com\/p\/google-guice\/\">Guice<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/ReactiveX\/RxJava\">RxJava<\/a><\/li>\n<li><a href=\"https:\/\/jersey.java.net\/\">Jersey<\/a><\/li>\n<li><a href=\"http:\/\/jsoup.org\/\">Jsoup<\/a><\/li>\n<li><a href=\"http:\/\/ehcache.org\/\">Ehcache<\/a><\/li>\n<li><a href=\"http:\/\/modelmapper.org\/\">ModelMapper<\/a><\/li>\n<li><a href=\"http:\/\/quartz-scheduler.org\/\">Quartz<\/a><\/li>\n<li><a href=\"http:\/\/www.joda.org\/joda-time\/\">Joda Time<\/a><\/li>\n<li><a href=\"http:\/\/sourceforge.jp\/projects\/jholiday\/\">Holiday.java<\/a><\/li>\n<li><a href=\"http:\/\/twitter4j.org\/ja\/index.html\">Twitter4J<\/a><\/li>\n<li><a href=\"https:\/\/code.google.com\/p\/kaptcha\/\">Kaptcha<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/zxing\/zxing\">ZXing<\/a><\/li>\n<li><a href=\"http:\/\/qrcode.sourceforge.jp\/\">QRCode for Java<\/a><\/li>\n<li><a href=\"https:\/\/rometools.jira.com\/secure\/Dashboard.jspa\">ROME<\/a><\/li>\n<li><a href=\"http:\/\/www.jcraft.com\/jsch\/\">JSch<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/lang\/\">Commons Lang<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/io\/\">Commons IO<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/proper\/commons-compress\/\">Commons Compress<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/proper\/commons-codec\/\">Commons Codec<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/proper\/commons-beanutils\/\">Commons BeanUtils<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/proper\/commons-fileupload\/\">Commons FileUpload<\/a><\/li>\n<li><a href=\"http:\/\/commons.apache.org\/proper\/commons-cli\/\">Commons CLI<\/a><\/li>\n<li><a href=\"http:\/\/args4j.kohsuke.org\/\">args4j<\/a><\/li>\n<\/ul>\n<p>\u7f16\u8bd1\u5de5\u5177\uff08Build tool\uff09<\/p>\n<ul>\n<li><a href=\"http:\/\/www.gradle.org\/\">Gradle<\/a><\/li>\n<li><a href=\"http:\/\/maven.apache.org\/\">Apache Maven<\/a><\/li>\n<\/ul>\n<p>\u5176\u4ed6\u5de5\u5177<\/p>\n<ul>\n<li><a href=\"http:\/\/www.eclemma.org\/jacoco\/\">JaCoCo<\/a><\/li>\n<li><a href=\"http:\/\/findbugs.sourceforge.net\/\">FindBugs<\/a><\/li>\n<li><a href=\"http:\/\/checkstyle.sourceforge.net\/\">Checkstyle<\/a><\/li>\n<\/ul>\n<p>JVM \u8bed\u8a00<\/p>\n<ul>\n<li><a href=\"http:\/\/www.scala-lang.org\/\">Scala<\/a><\/li>\n<li><a href=\"http:\/\/groovy-lang.org\/\">Groovy<\/a><\/li>\n<li><a href=\"http:\/\/clojure.org\/\">Clojure<\/a><\/li>\n<li><a href=\"http:\/\/ceylon-lang.org\/\">Ceylon<\/a><\/li>\n<\/ul>\n<p>\u53c2\u8003\u94fe\u63a5\uff1a<a href=\"https:\/\/github.com\/akullpp\/awesome-java\" target=\"_blank\">Awesome Java<\/a><\/p>\n<p><em><span style=\"color: #808080;\">\u521d\u7248\u6761\u76ee\u7684\u5206\u7c7b\u9009\u53d6\u5f15\u7528\u4e8e disc99 \u7684\u535a\u5ba2\u6587\u7ae0\u300a<a style=\"color: #808080;\" href=\"http:\/\/qiita.com\/disc99\/items\/727b51dbe737602a5c91\" target=\"_blank\">Java\u3092\u4f7f\u3046\u306a\u3089\u77e5\u3063\u3066\u304a\u304d\u305f\u3044\u6280\u8853\u3001\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u3001\u30c4\u30fc\u30eb\u307e\u3068\u3081<\/a>\u300b\u3002<\/span><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u5c06\u4e0d\u5b9a\u671f\u66f4\u65b0\u4e00\u4e9b\u5e38\u89c1\u7684 Java \u6846\u67b6\u4e0e\u5e93\uff0c\u6216\u662f\u7b80\u5355\u7684\u4ecb\u7ecd\u4e0e\u611f\u60f3\u3002 \u6846\u67b6 Spring\u00a0&#8211; \u6587 &hellip; <a href=\"http:\/\/leybreeze.com\/blog\/?p=3159\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201c\u5e38\u89c1 Java \u6846\u67b6\u3001\u5e93\u4e0e\u5de5\u5177\u7b80\u4ecb\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135],"tags":[123],"_links":{"self":[{"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3159"}],"collection":[{"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3159"}],"version-history":[{"count":7,"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3159\/revisions"}],"predecessor-version":[{"id":3238,"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3159\/revisions\/3238"}],"wp:attachment":[{"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3159"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/leybreeze.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}