1. 程式人生 > >Spring Boot 1.5.x 基礎學習示例

Spring Boot 1.5.x 基礎學習示例

一、為啥要學Spring Boot?

  

  今年從原來.Net Team“”轉到了Java Team開始了微服務開發的工作,接觸了Spring Boot這個新瓶裝舊酒的技術,也初步瞭解了微服務架構。Spring Boot是Spring4之後整合的產物,它摒棄了原來Spring的一大堆的配置,採用了約定大於配置的方式,還是原來的配方,還是原來的佐料,讓各路開發人員能夠快速地使用Java開發微服務程式。其實,當我們瞭解了Spring Boot之後,會發現ASP.Net Core和Spring Boot很像,他們都是適合做微服務的技術。不過,對於Spring Boot的資料和相關的生態"看"起來要好一些(比如我現在公司已經沒有多少.Net的新專案了),對於.Net程式設計師來講,多掌握一門開發技術的需求越來越明顯。這兩年間,部落格園的.Net程式設計師已有不少轉到了或者已經掌握了基於Java的微服務開發技術(Spring Boot & Spring Cloud),這也說明了市場的需求變化。對於我來說,雖然我不排斥Java也在積極學習Java,但我還是更愛.Net Core一些(沒辦法,C#用的最爽

),可能這就是初戀的味道把。但是,我也強烈建議.Net程式設計師多掌握一門技術,特別是在當今Spring Boot等框架已經為我們降低了很多學習門檻的基礎上,更應該多多學習和吸收其他技術棧及生態圈好的東西來充實自己,進而獲得進一步的自我提升。

  在學習途中,我把自己做的Demo記錄下來上傳到了GitHub,也是因為在學習途中瀏覽的部落格示例程式碼很多由於版本過低及API變化無法正常執行,踩了一些坑之後把能夠正常執行的Code與各位分享,讓各位童鞋儘量少走彎路。

二、推薦學習資料

  (1)程式猿DD:《Spring Boot基礎教程》=> 我們專案組的指定學習資料,言簡意賅,點到即止

  (2)純潔的微笑:《Spring Boot 1.x 與 2.0 基礎教程》=> 可以作為程式猿DD的補充,且增加了很多2.0的內容

  (3)EdisonChou, 《Java微服務之Spring Boot on Docker》=> 將Spring Boot執行在Docker上,使用Docker Compose編排微服務

三、示例結構說明

  此示例專案主要基於程式猿DD的SpringBoot教程所做的學習實踐,基於SprintBoot 1.5.15版本,每個專案均演示了部分內容。由於程式猿DD的文章示例版本太舊,部分Code無法正常執行,所以在學習途中(非SpringBoot2.0版本的學習)可以參考本示例Demo來學習。

  

  下面是各個子專案主要演示的內容:

  • msadv1 : Hello World & 配置檔案的使用(多環境配置檔案的使用) & MVC Controller & 熱部署
  • msadv2 : 分層的CRUD RESTful API示例 & 單元測試(針對Controller和Service及Mock的使用)
  • msadv3 : 靜態資源的匯入 & Thymeleaf模板的使用 & Swagger API Doc & 統一異常處理
  • msadv4 : Spring Security基本使用 & JdbcTemplate訪問資料庫 & Spring-data-jpa訪問資料庫
  • msadv5 : 多資料來源配置(基於JdbcTemplate 與 基於Spring-data-jpa)
  • msadv6 : Redis & MongoDB 整合與基本使用
  • msadv7 : 整合 MyBatis & MyBatis 註解配置的使用
  • msadv8 : Spring Boot中的事務管理 & 使用Flyway管理資料庫版本
  • msadv9 : Spring Boot中的快取註解 & 使用Ehcache作為快取
  • msadv10 : 整合使用Redis作為快取
  • msadv11 : 使用log4j記錄日誌 & 多環境(dev,test,prod)不同日誌(INFO,DEBUG,ERROR)級別的控制
  • msadv12 : 使用log4j實現http請求日誌存入MongoDB & 動態修改日誌級別(1.5.x新特性)
  • msadv13 : RabbitMQ的基本整合和使用
  • msadv14 : 使用@Scheduled建立定時任務 & 使用@Async實現非同步呼叫
  • msadv15 : 使用@Async實現非同步呼叫:自定義執行緒池
  • msadv16 : 使用@Async實現非同步呼叫:ThreadPoolTaskScheduler執行緒池的優雅關閉
  • msadv17 : 使用@Async實現非同步呼叫:使用Future & 定義超時
  • msadv18 : 實現郵件傳送:簡單郵件、帶附件的郵件、帶資源的檔案以及基於模板的郵件 & 使用spring boot actuator監控端點
  • msadv19 : 自定義啟動Banner & 使用Spring StateMachine框架實現狀態機 & 使用exclude排除不必要的自動化配置的載入

示例地址

推薦工具

  

  (PS: 如果是.Net程式猿想要學習SpringBoot,強烈建議更改快捷鍵與Visual Studio保持一致,這樣能加快開發效率,如不瞭解如何修改,可以參考鄒瓊俊《從.Net到Java - Idea and Start Spring Boot》)

  

  Plugin => 阿里巴巴程式碼規約

作者:周旭龍

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。

相關推薦

Spring Boot 1.5.x 基礎學習示例

一、為啥要學Spring Boot?      今年從原來.Net Team“被”轉到了Java Team開始了微服務開發的工作,接觸了Spring Boot這個新瓶裝舊酒的技術,也初步瞭解了微服務架構。Spring Boot是Spring4之後整合的產物,它摒棄了原來Spring的一大堆的配置,採用了約

Spring Boot 1.5.x新特性:動態修改日誌級

Spring Boot 1.5.x新特性:動態修改日誌級 前天Spring Boot 1.5終於迎來了第一個RELEASE版本:1.5.0,但是由於一個編譯依賴問題在第二天直接連擊到了1.5.1。該版本的釋出包含了超過320位貢獻者的奉獻、10000多次的程式碼提交。 每次Sprin

spring boot 1.5.7 搭建基礎專案框架二 錯誤: 找不到或無法載入主類

一:當在eclipse啟動spring boot專案時出現問題:錯誤: 找不到或無法載入主類 com.example.demo.DemoApplication解決辦法:1,通過cmd命令列,進入專案目錄進行,mvn clean install 進行編譯專案install後,再

spring boot 1.5.4 集成devTools(五)

springboot springboot1.5.4 springboot整合jsp springboot之web開發 springboot熱部署devtools 上一篇:spring boot 1.5.4 整合JSP(四)1.1 Spring Boot集成devToolssprin

spring boot 1.5.4 定時任務和異步調用(十)

springboot springboot1.5.4 springboot之web開發 springboot定時任務 springboot異步回調 上一篇:spring boot1.5.4 統一異常處理(九) 1 Spring Boot定時任務和異步調用我們在編寫Spring B

spring boot 1.5.4 統一異常處理(九)

springboot springboot1.5.4 springboot整合springdatajpa springboot集成jdbctemplate springboot異常處理 上一篇:springboot 1.5.4 配置文件詳解(八) 1 Spring Boot統一異

spring boot 1.5.4 整合rabbitMQ(十七)

rabbitmq springboot springboot1.5.4 springboot整合jsp springboot整合rabbitmq 上一篇:spring boot 1.5.4 整合redis、攔截器、過濾器、監聽器、靜態資源配置(十六) 關於rabbitMQ原理,請參閱博客:

spring boot 1.5.4 從入門到實踐

springbootSpring Boot四個重要核心:自動配置:針對很多Sping應用程序常見的應用功能,Spring Boot能自動提供相關配置;起步依賴:告訴Spring Boot需要什麽功能,它就能引入需要的庫;命令行界面:這是Spring Boot的可選特性,借此你只需寫代碼就能完成完整的應用程序,

spring-boot-1.5.15.RELEASE上傳檔案大小限制

背景 有一個上傳檔案介面,在其他專案執行正常 @PostMapping("/upload") public String upload(@RequestParam("file") MultipartFile file, @RequestParam("orgId") I

Spring Boot 1.5.* 升級 2.1 - 完善中

Spring Boot 原版本 1.5.12.RELEASE 新版本 2.1.0.RELEASE Spring Cloud 原版本 Edgware.SR3 新版本 Finchley.SR2   一、Actuator 部分   1. 原版本中暴露所有端點的配置是 management.secu

Spring Boot 1.5.19 釋出,依賴項更新版本

   Spring 應用開發框架 Spring Boot 1.5.19 釋出。 此次更新主要是依賴項的更新,包括: Upgrade to Jedis 2.9.1 #15683 Upgrade to Git Commit Id Plugin 2.2.6 #15682 Up

Spring Boot 1.5.19 和 2.0.8 釋出,Spring 應用開發框架

   Spring 應用開發框架 Spring Boot 1.5.19 和 2.0.8 版本釋出。 Spring Boot 2.0.8 此次更新內容主要是: 新特性:優化了 字串順序(StringSequence ); Bug 修復:使用 ssl and http/2 時

spring boot 1.5.4 整合shiro+cas,實現單點登入和許可權控制

1.安裝cas-server-3.5.2 官網:https://github.com/apereo/cas/releases/tag/v3.5.2 注意: 輸入 <tomcat_key> 的金鑰口令 (如果和金鑰庫口令相同, 按回車) ,這裡直接回車,也採用keystore密碼changei

lua語言-《lua程式設計》1~5基礎學習

由於openwrt的web,不得不看lua語法,《lua程式設計》一書講的很詳細基礎,比較易懂,以下為重點記錄。 1.註釋與取消註釋 添加註釋 --[[ print("he

Spring Boot 1.X和2.X優雅彩38平臺出租重啟實戰

main pau ble eas ren 超過 kill -9 tst 兼容 項目在彩38平臺出租 haozbbs.com Q1446595067 重新發布的過程中,如果有的請求時間比較長,還沒執行完成,此時重啟的話就會導致請求中斷,影響業務功能,優雅重啟可以保證在停止的時

spring boot 1.x配置,不斷完善中

spring boot是典型的約定大於配置,那麼很有必要對在開發過程中這些配置做統一的新增記錄,以免用到的時候到處搜尋,網上的東西又良莠不齊。 server.port=8880   微服務註冊中心,yml檔案 server: port: 8761 # 服務在啟動時,會把自

中文程式碼示例Spring Boot 1.3.3演示

知乎原文 原始碼: program-in-chinese/jinxiaocun 由於這個演示專案成型於去年(詳見中文程式設計的嘗試歷程小記), Spring Boot還是老版本. 尚未將其更新到最新版本, 先將其中的一些中文命名的部分小結在此. URL 如: /商品表 /單位

Intellij IDEA 學習Spring Boot (1)

      工作之餘,學習一下,使用Intellij IDEA 新建一個 Spring Boot專案,算是對 Spring Boot 入一個門       新建專案         完成之後,效果如下:       直接執行:       (這裡我沒有關注Maven,是因為

再見 Spring Boot 1.XSpring Boot 2.X 走向舞臺中心

      2019年8月6日,Spring 官方在其部落格宣佈,Spring Boot