用 Spring 快速搭建 Web 應用(支持 RESTful API)


Spring 是個好框架……不過 Java 開發的一個通病是前期配置太麻煩。正好手頭上有個新項目,我考慮后決定用 Java 做,看了新出的 Spring 4,還有 Spring Boot,可以快速地做出一個 Web Demo。不過我不太喜歡大量使用注解的方式,而且 Spring 4 出來的時間不久,資料也不多,所以還是打算用 Spring 3 來做。

Spring 3 的配置比較多,網上不少文章會教你一步步搭建環境,涉及到細節就是怎么說的都有了。另一個不爽的地方是,有些概念解釋不清,對初次使用的人很不友好。再加上我記性不好,又不想每次開始新項目再從頭學一遍,所以做了一個 Maven 的 archetype,放到了 Github 上,名字叫 spring-webapp-restful-quickstart,顧名思義,除了支持 Web,還能支持 RESTful API,就像這樣:

  • http://localhost:8080/index
    這是 HTML 頁面輸出
  • http://localhost:8080/index.json
    這是 JSON 數據的輸出

以上兩種輸出只取決於 URL 的后綴,內部用的都是同一個 Controller —— 不用單獨為 API 專門寫 Controller 了。

API 的輸出使用了 ContentNegotiatingViewResolver,目前 API 只支持 JSON 格式的輸出,不過要加入其他的格式,如 XML 也不難,自己照着改 applicationContext.xml 里的配置就好了。

這個骨架用了 Tiles 2 作為模板,選擇 Tiles 2 是因為它使用 JSP 作為基礎語言,這樣能更好地和其他的標簽庫一起使用,而且對熟悉 Java 的人來說擴展起來也比較容易,做自己的 JSP 標簽就行了。至於為什么沒選 Tiles 3……是因為我看 Tiles 2 的特性就夠用了,就沒再看 Tiles 3……此外還配置好了 Jetty,可以直接用 maven jetty:run 運行項目。

目前這個 archetype 只是放到了我的 Github 下,等之后再完善一些會發布到 Maven 中央倉庫。需要用的話只需要 git clone 下來然后用 maven install 安裝到本地的 Maven 倉庫就可以了。用 maven 創建新項目時記得選 spring-webapp-restful-quickstart。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM