怎樣系統學習Spring boot?

leslie_cheung


springboot是spring發展過程中的里程碑,雖然spring一直在簡化配置(從xml配置-->註解配置-->java配置),但是對於開發人員來說,重複的配置還是耗費開發者大量的時間,不僅如此,web服務器部署,安全驗證,健康監測等都是一大難題,而springboot的誕生就是為了解決上述的問題;

springboot提供了開箱即用的設置(大部分的配置基於默認),對於springboot的特性,spring官網做如下說明:


1,創建一個獨立的spring應用; 2,嵌入tomcat,Jetty或者Undertow以提供直接部署(不需要再打war包);

3,自帶很多“starter”依賴用來簡化程序的構建;

4,儘可能的自動配置spring和第三方庫;

5,提供生產需要監控的內容:指標,健康檢查,外部配置等;

6,絕對不需要額外的代碼和xml配置;

上面的特性概括一下即是:超簡化的配置,內置服務器,集成中間件(緩存,消息等等),自動化配置,提供監控;


很明顯,springboot主要學習集成的框架(技術)和監控!學習springboot就是學習springboot整個的生態,從maven遠程倉庫整理如下springboot生態:

1,spring-boot-starter-test:集成測試;

2,spring-boot-starter-web:集成web;

3,spring-boot-autoconfigure:集成自動配置;

4,spring-boot-configuration-processor:配置文件加載;

5,spring-boot-starter-actuator:服務健康監控;

6,spring-boot-devtools:熱部署;

7,spring-boot-starter-security:安全驗證;

8,spring-boot-starter-log4j2:log4j日誌;

9,spring-boot-starter-data-redis:緩存;

10,spring-boot-starter-data-jpa:持久層映射框架;

11,spring-boot-starter-mail:郵件;

12,spring-boot-starter-websocket:消息通知等;

13,spring-boot-starter-aop:AOP;

14,spring-boot-starter-jdbc:jdbc連接;

15,spring-boot-starter-logging:logback;

16,spring-boot-starter-tomcat:tomcat服務器;

17,spring-boot-starter-thymeleaf:模板引擎;

18,spring-boot-starter-jetty:jetty服務器;

19,spring-boot-starter-validation:集成式校驗;

20,spring-boot-starter-undertow:IO密集型服務器undertow;

21,spring-boot-starter-webflux:reactor模型,響應式框架;

22,spring-boot-starter-jersey:rest風格服務提供;

23,spring-boot-starter-data-rest:持久層的服務化;

24,spring-boot-starter-cache:spring緩存;

25,spring-boot-starter-data-mongodb:mongodb數據庫; 26,spring-boot-starter-hateoas:hateoas約束形式的rest接口;

27,spring-boot-starter-amqp:rabbitMQ消息;

28,spring-boot-starter-freemarker:模板引擎;

29,spring-boot-starter-redis:redis緩存;

30, spring-boot-loader-tools:熱部署;

31,spring-boot-starter-json:json處理;

32,spring-boot-starter-batch:批處理;

33,spring-boot-starter-activemq:activeMQ消息;

34,spring-boot-starter-web-services:web service;

35,spring-boot-starter-ws:web service;

36,spring-boot-starter-reactor-netty:響應式編程的默認啟動服務器;

37,spring-boot-starter-data-elasticsearch:搜索引擎;

38,spring-boot-starter-quartz:定時任務;

不僅如此,很多公司都基於starter方式實現了springboot的集成包,包括activity,druid,camel等等;

綜上,springboot並不需要像spring一樣去深入到底層學習源碼,更多的還是為我們的實際業務提供支持,可以在開發中方便的集成;

上面所有說到的東西,正在寫相關Demo,需要的朋友,可以先關注。。我也在持續的分享JAVA相關的技術,敬請關注。。


此生唯一


我最近開發的項目剛好經歷了從SSM到SpringBoot的轉變。我就來分享下我的個人學習經驗。

系統學習SpringBoot可以分為以下兩個部分:

理論學習

Springboot與SSM/SSH最大的區別是取消了xml文件的配置,而通過註解來實現配置。舉個簡單的例子,我需要使用Spring的定時任務功能,如果我用的是SSM/SSH框架,那麼我需要在Spring文件的配置文件中增加scheduled相關的配置,然後才能夠使定時任務的相關注解生效。但是如果用的是SpringBoot,只需要在項目的啟動文件上增加@EnabledScheduled註解就夠了,這個簡化了真的不是一點點。

SpringBoot的第二大特點就是整合了Tomcat,即用戶寫完項目後,無須在Linux環境額外部署一個Tomcat,再將war包解壓縮在webapps文件夾下,只需要將springboot項目導出一個jar包(可以使用maven進行項目管理,用mvn clean install命令即可),然後通過java -jar

xxx.jar

方式就能啟動一個後端服務了。這更加節約了部署時間。

上面是SpringBoot經常會提到的與原有的SSM/SSH框架的對比,在系統學習中,首先還是要打好對Spring框架的基礎,因為很多通用的知識,比如IoC,AOP,反射等等無論使用哪個框架都是繞不開的。

在此推薦兩本書,一本是介紹Spring,另一半介紹SpringBoot,能夠從各個角度全面的瞭解SpringBoot的前世今生。

第一本是《Spring實戰》,第二本是《深入淺出 SpringBoot

2.x》,這兩本都我們很多高級工程師手邊常備的工具書。

實戰訓練

如果你已經工作,那就可以自己尋找機會(比如我,主動要求用springboot去寫新的項目)使用springboot進行實際訓練,比如最近項目組需要啟動一個新的平臺或者節點來實現部分功能,那麼這就是很好的機會來將你的理論知識發揮出來。

如果你還是學生,那麼不妨自己到網上找一些簡單的功能demo描述,然後自己編寫一個springboot項目來實現,最簡單的可以就是通過api來獲取數據庫的數據,甚至是做簡單的計算也可以。

總之,自我實戰過程最重要的是能用到哪些SpringBoot功能,而不是自己創造的這個功能是否真的有意義。

經過理論與實踐的反覆錘鍊,相信題主就能夯實你的springboot基礎了。如果對你有幫助,歡迎點贊留言,與我交流。

我是蘇蘇思量,來自BAT的Java開發工程師,每日分享科技類見聞,歡迎關注我,與我共同進步。


一個存在感小透明


我接觸spring boot不是特別的早,大概是在2016年左右,那時候我也是處在學習和研究階段,真正把spring boot應用到項目中是在17年以後了。在學習spring boot之前,我已經做了六七年的Java開發,spring/spring mvc接觸的多一些。


在剛開始學習spring boot的時候,我也買過紙質書,也下載過視頻,在網上找過相關的文檔資料,走了不少的彎路,現在我最推薦的方式是——閱讀Spring boot的官方文檔。(這個我在回答其他問題的時候,也多次的提及)


首先說買書,可能我的看法有些偏頗,也可能我沒有看到過好的關於spring boot的書籍,我感覺,大部分的紙質書都寫的很差勁,甚至有一些書就是翻譯spring boot的官方文檔,再加一些實例,真的不是很建議花幾十塊錢買一本官方文檔的翻譯手冊。


視頻嘛,相比讀紙質書稍微好一些,但同樣的問題,想要在良莠不齊的教學視頻中挑選到有乾貨的,也不非常不容易。

文檔資料類似,其實越前沿的技術(當然,springboot已經不能算是非常前沿了),好的中文資料越少,甚至很多中文的資料都是錯誤的,或者過時的。


所以我推薦——閱讀Spring boot的官方文檔:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/




就按照文檔的Getting Started和Using Spring Boot部分,一步一步的把demo搭建起來,工具可以使用自己習慣使用的IED,沒有特殊愛好的可以使用STS(spring tool suite)。

文檔的後半部分,是spring boot和其他軟件或框架做集成,比如關係型數據庫、非關係型數據庫、MQ,可以根據自己的需要選擇閱讀。



不要害怕英文文檔!

網上有很多開發愛好者,把spring boot的官方文檔翻譯成了中文,但我還是建議大家閱讀英文文檔。我大學四級60分的水平,工作之後沒有再學習英語,每天堅持閱讀30分鐘spring boot的官方文檔,一週之後看英文文檔不會打瞌睡了,2-4周之後差不多就可以連蒙帶猜的閱讀了,現在基本上約到技術問題,在Stack Overflow查找並閱讀無障礙了。


會點代碼的大叔


說一下我個人的見解:


SpringBoot的基礎是Spring,Spring的基礎是IOC和AOP。


所以要學習SpringBoot建議還是對IOC和AOP有一個基礎的瞭解,能自己通過三種方式管理bean,即Xml、註解、JavaConfig方式。然後AOP的話起碼知道概念,自己能簡單的寫個AOP實現日誌打印等小功能。


對Spring有一些簡單瞭解後,就可以解除SpringBoot了,實際上SpringBoot並沒有什麼新的技術,只是Spring配置簡化了,然後更加方便的去集成各種功能,如果對Spring非常瞭解的話,Spring中基於JavaConfig配置的項目已經非常接近SpringBoot了。


然後如何系統學習SpringBoot,沒啥好系統學的吧,SpringBoot更多的是應用層面上的,基本概念和原理其實都在Spring裡面呢。


此處可以給出Spring和SpringBoot的學習脈絡吧,也是我個人的學習過程,具體文章我頭條號也有,歡迎關注共同探討。


Spring的:

  • Part1 Spring 基礎知識

  • Spring之路(1)–存在即合理、流行即道理

  • Spring之路(2)–繞不過去的開發環境配置

  • Spring之路(3)–正兒八經的開一個公司(使用xml配置Spring容器)

  • Spring之路(4)–公司要有員工(使用xml定義Spring中的Bean)

  • Spring之路(5)–IoC、DI傻傻分不清楚

  • Part2 Spring DI (依賴注入)

  • Spring之路(6)–讓周杰倫和林俊杰來給我們做代言(詳解Spring中使用xml定義bean時到底發生了啥)

  • Spring之路(7)–提高公司管理效率(使用註解快速定義bean)

  • Spring之路(8)–提高資源管理的靈活性(使用JavaConfig定義bean)

  • Spring之路(9)–拜託你大聲怒斥我的名字(bean的命名非常重要!)

  • Spring之路(10)–詳解Spring中bean命名機制

  • Spring之路(11)–在xml配置中顯示裝配、自動裝配bean

  • Spring之路(12)–在註解配置中裝配bean

  • Spring之路(13)–在JavaConfig配置中裝配bean

  • Spring之路(14)–bean的生命週期

  • Part3 Spring MVC

  • Spring之路(15)–SpringMVC的工作流程

  • Spring之路(16)–完整實現一個SpringMVC實例(使用xml配置SpringMVC)

  • Spring之路(17)–全部使用註解配置SpringMVC

  • Spring之路(18)–SpringMVC+Bootstrap開發博客系統實例(需求分析篇)

  • Spring之路(19)–SpringMVC+Bootstrap開發博客系統實例(數據庫與URL設計篇)

  • Spring之路(20)–SpringMVC+Bootstrap開發博客系統實例(項目主體結構實現)

  • Spring之路(21)–SpringMVC+Bootstrap開發博客系統實例(數據庫模塊實現)

  • Spring之路(22)–SpringMVC+Bootstrap開發博客系統實例(引入Boostrap並實現瀏覽博客頁面)

  • Spring之路(23)–SpringMVC+Bootstrap開發博客系統實例(其他功能實現)

  • Part4 Spring Restful

  • Spring之路(24)–Spring Restful的來頭

  • Spring之路(25)–Spring Restful+jQuery+Bootstrap開發博客系統實例(API後端開發篇)

  • Spring之路(26)–Spring Restful+jQuery+Bootstrap開發博客系統實例(前端開發篇)

  • Spring之路(27)–使用RestTemplate訪問Restful接口

  • Part5 Spring JDBC

  • Spring之路(28)–Spring JDBC的來頭及周邊

  • Spring之路(29)–Spring JDBC多種數據源DataSource配置實例

  • Spring之路(30)–使用JdbcTemplate完成數據庫操作(xml+註解配置)

  • Spring之路(31)–使用NamedParameterJdbcTemplate完成數據庫操作(JavaConfig配置)

  • Spring之路(32)–SpringMVC+SpringJDBC+jQuery+Bootstrap博客系統完整實例

  • Part6 Spring 集成MyBatis

  • Spring之路(33)–MyBatis基本介紹與應用場景

  • Spring之路(34)–使用xml配置Spring+SpringMVC+MyBatis(SSM)項目完整實例

  • Spring之路(35)–使用JavaConfig配置Spring+SpringMVC+MyBatis(SSM)項目完整實例

  • Part7 Spring 事務

  • Spring之路(36)–事務很重要嗎?Spring為何要封裝事務?Spring事務有陷阱嗎?

  • Spring之路(37)–在原生JDBC上使用事務

  • Spring之路(38)–基於PlatformTransactionManager的編程式事務管理

  • Spring之路(39)–基於TransactionTemplate的編程式事務管理

  • Spring之路(40)–使用@Transactional進行聲明式事務管理如此簡單

  • Spring之路(41)–注意規避@Transactional聲明式事務失效的情況

  • Part8 Spring AOP (面向方面編程)

  • Spring之路(42)–Spring AOP是啥?啥時候用?

  • Spring之路(43)–不使用AOP與使用AOP對比實例

  • Spring之路(44)–Spring AOP通知類型詳解與實例展示

  • Spring之路(45)–Spring AOP常用的切入點表達式實例

  • Part9 Spring 緩存

  • Spring之路(46)–緩存:提升性能的大殺器,用與不用緩存區別就是這麼大

  • Spring之路(47)–Spring編程式緩存管理實例

  • Spring之路(48)–使用註解實現聲明式緩存管理是So Easy

  • Spring之路(49)–Spring緩存性能提升如昇天?但你真的用對了嗎?


SpringBoot的:

  • SpringBoot 由來

  • SpringBoot 第一個項目詳解

  • SpringBoot 配置文件說明

  • SpringBoot 靜態資源配置

  • SpringBoot Restful

  • SpringBoot 熱部署

  • SpringBoot Lombok使用

  • SpringBoot Swagger2使用

  • SpringBoot 攔截器

  • SpringBoot 跨域

  • SpringBoot JdbcTemplate

  • SpringBoot MyBatis

  • SpringBoot 事務

  • SpringBoot 定時任務

  • SpringBoot 異常處理

  • SpringBoot AOP使用場景之異常處理

  • SpringBoot AOP使用場景之分頁

  • SpringBoot AOP使用場景之監控

  • SpringBoot 多數據源配置

  • SpringBoot 文件上傳

  • SpringBoot 緩存

  • SpringBoot 集成Redis

  • SpringBoot 集成MongoDB

  • SpringBoot 集成Shiro

  • SpringBoot 集成消息隊列

  • SpringBoot +Vue+ElementUI PC端實戰案例

  • SpringBoot +Vue+MintUI 手機端實戰案例


三線城市程序員老陳


Spring Boot作為Java領域最佳的微服務架構落地的技術必然有著自身不可替代的優勢(快速開發、快速部署、方便配置、便於監控等特性)這裡不過多講解,只通過五點簡單的說下筆者的問題。

1. 認識和了解Spring Boot

2. Spring Boot 與 web相關技術棧

3. Spring Boot 與數據庫的相關操作

4. Spring Boot相關中間件

5. 結合案例實操

任何一門技術的學習都離不開和踐,通過不斷的鞏固自身的基礎,把根基扎穩才能越學越順,所以

第一步:需要去Google找與Spring Boot相關的知識,多多瞭解"知己知彼才能攻佔其身"😃。這裡需要去熟悉 Spring Boot的相關背景與設計理念、瞭解Spring Boot歷來版本更新都出現了哪些特性、試著按照資料去搭建運行環境並嘗試運行輸出久違的"hello world"感受下 Spring Boot給予成功起步的反饋。

第二步:熟悉瞭解 Spring Boot對web開發的支持、熟悉Thymeleaf 模板引擎的基礎使用和高級開發、使用 Thymeleaf 寫一套頁面佈局、上傳文件等常用功能熟練使用Thymeleaf、嘗試使用所學知識構建一個 RESTful web服務器、使用 Swagger2構建 RESTful APIs、使用webSocket創建聊天室 (這個部分很重用,需鍛鍊動手能力和學習拓展能力)

第三步:使用JDBC操作數據庫、使用MyBatis XML配置版和MyBatis註解版、熟練掌握 Spring Data JPA的基礎和高級用法,並結合多數據源進行使用、用Spring Boot集成 Druid監控數據源、去github找些 Spring Data JPA 和 Thymeleaf 相關實例參考和學習,然後動手操作。(這部分知識學習相對來說可能會吃力些,但是你如果能熬過來,相信你會為自己點贊)

第四步:中間件在大部分的項目開發中都起到了重要的作用,其中得涉及到項目中常用的緩存策略,消息中間件,全文搜索,任務調度,郵件系統等等。這些其實Spring Boot都提供了很好的支持。

比如:操作Memcached、實現Redis與Session共存、註解版 Spring Cache 緩存策略、高性能消息中間件RabbitMQ、全文搜索引擎ElasticSearch、定是任務調度工具 Quartz、及主流的NoSQL和MongoDB集成等等,在項目中你想要的應有竟有。(這部分屬於拓展,項目實戰開發中必不可少的環節,Spring Boot 常用的工具非常豐富,去要什麼去github基本都能找到)

第五步:到了這你算是學有所成直奔高級了。這部分其實沒有過多的需要學習基礎的東西了,主要是偏向於項目實踐了。不過不要擔心無非就是些安全控制、監控應用、微服務集群、項目打包部署上線等。這裡可能需要去學習使用Spring Boot Security進行安全控制、使用Spring Boot Actuator監控應用、使用 Spring Boot Admin 監控微服務集群,使用Docker部署項目。

學習最好的方法其實是鞏固基礎知識不斷練習案例,如今網上資料居多,初學者學習不要過於凌亂,找對方向不要被幹擾,堅持自己的方向不斷努力一定會學有所成。(方向很重用,方向很重用,放向很重要)

加油💪 沒有學不好的只有不會堅持的。


拍拍手


這是我收錄的一篇關於springboot的文章,學習它最好的方法是,先知道個大概,然後在實際項目中邊學邊用。由於springboot大部分都是講的配置,比如你要用redis了,那麼你就要百度一下springboot如何與redis集成了,又比如你要用日誌了,你就該百度與log4j2的集成了!


Java基礎及性能優化


系統得學習springboot,你只需要做到我說的這三點。

第一,閱讀官方文檔

我之前在本人文章裡也專門提到過閱讀官方文檔的重要性,不要看這麼多博客呀回答呀寫的好像有點味道,都是網友們的經驗之談,不是權威的,甚至有些地方還有問題。個人比較建議在遇到困惑的時候再搜那些技術博客看看,一般情況就閱讀官方文檔進行學習。



第二,動手搭建一個springboot項目

實踐是檢驗真理的唯一標準,有了文檔的基礎知識和理論,你應該試著自己搭建一個小demo,跑起來可以寫簡單的增刪改查,就已經上手了。

第三,讀源碼

你還想進一步加深學習,那你直接下載框架源碼,你會發現框架的源碼真是簡練而精闢,你不僅可以深一步認識springboot,還可以提升編寫代碼的能力。


極客宇文氏


使用Spring Boot開發Web項目要比使用SpringMVC簡單一些,Spring Boot對於開發人員來說可以從複雜的配置文件中解放出來,把更多的精力放在業務邏輯的實現上。

Spring Boot的學習過程並不複雜,可以從創建一個基本的Spring Boot應用開始,下面我就描述一下如何在IDEA環境下來完成Spring Boot的創建,由於我使用的是Community版本,所以我就以這個版本為例。

首先第一步是在IDEA中添加Spring Boot的插件,Community版本的插件名稱是Spring Assistant,如圖:

接著就可以使用Spring Assistant來創建Spring Boot應用了,創建一個新工程,選擇Spring Assistant,如圖:

接著選擇下一步,如圖:

接著選擇下一步,如圖:

注意這一步要選擇web,然後勾選web子項,然後下一步起個工程名就完成創建了,如圖:

下面創建一個簡單的Controller,在創建Controller的時候最好創建一個單獨的目錄,這樣更符合規範,如圖:

然後就可以啟動Spring Boot應用了,啟動DemoApplication,接著就可以在瀏覽器中輸入localhost:8080/hello加以訪問了,如圖:

通過這個例子可以看到,使用Spring Boot還是非常方便的,幾乎沒有什麼配置文件需要設置,可以說Spring Boot把使用Spring開發Web應用做了一個非常方便的封裝。Spring Boot的應用能夠節省大量的開發時間,同時也讓業務邏輯更加清晰。

從學習的角度來說,完全可以直接開始學習Spring Boot,但是如果有SpringMVC的基礎會更容易理解Spring Boot的執行過程。要系統的學習Spring Boot最好結合一個實際的案例進行,這樣會更容易全面的使用Spring Boot。

我目前主要的研究方向是大數據和人工智能,目前也在帶大數據方向的研究生,我會陸續在頭條寫一些關於大數據方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有軟件開發方面的問題,也可以諮詢我。

謝謝!


IT人劉俊明


Springboot入門介紹

一、Spring框架概述

1.1 什麼是Spring

Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是為了解決企業級應用開發的複雜性而創建的,使用Spring可以讓簡單的JavaBean實現之前只有EJB才能完成的事情。但是Spring不僅僅侷限於服務器端開發,任何Java應用都能在簡單性、可測試性和松耦合性等方面從Spring中獲益。

1.2 Spring是如何簡化Java開發的

為了降低Java開發的複雜性,Spring採用了以下4種關鍵策略:

1、基於POJO的輕量級和最小侵入性編程;

2、通過依賴注入(DI)和麵向接口實現松耦合;

3、基於切面(AOP)和慣例進行聲明式編程;

4、通過切面和模版減少樣式代碼;

二、SpringBoot簡介

2.1什麼是SpringBoot

Spring Boot 是所有基於 Spring 開發的項目的起點。Spring Boot 的設計是為了讓你儘可能快的跑起來 Spring 應用程序並且儘可能減少你的配置文件。簡單來說就是SpringBoot其實不是什麼新的框架,它默認配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道這樣比喻是否合適)。

2.2、SpringBoot四個主要特性

1、SpringBoot Starter:他將常用的依賴分組進行了整合,將其合併到一個依賴中,這樣就可以一次性添加到項目的Maven或Gradle構建中;

2、自動配置:SpringBoot的自動配置特性利用了Spring4對條件化配置的支持,合理地推測應用所需的bean並自動化配置他們;

3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI發揮了Groovy編程語言的優勢,並結合自動配置進一步簡化Spring應用的開發;

4、Actuatir:它為SpringBoot應用的所有特性構建一個小型的應用程序。但首先,我們快速瞭解每項特性,更好的體驗他們如何簡化Spring編程模型。

2.3 SpringBoot開發的具體好處

回顧我們之前的 SSM 項目,搭建過程還是比較繁瑣的,需要:

1、配置web.xml,加載spring和spring mvc

2、配置數據庫連接、配置spring事務

3、配置加載配置文件的讀取,開啟註解

。。。

配置完成之後部署tomcat 調試

而使用 Spring Boot 來開發項目則只需要非常少的幾個配置就可以搭建起來一個 Web 項目,並且利用 IDEA 可以自動生成生成,這簡直是太爽了...

華麗的分割線----------------------------------------------------------------------------------------------------

三、使用IDEA快速搭建SpringBoot項目

1、file->new project 在彈出的窗口選擇Spring Initializr

2、修改項目信息

3、選擇版本及項目需要的依賴

4、最終目錄結構

項目結構還是看上去挺清爽的,少了很多配置文件,我們來了解一下默認生成的有什麼:

EurekaServerApplication: 一個帶有 main() 方法的類,用於啟動應用程序

EurekaServerApplicationTests:一個空的 Junit 測試了,它加載了一個使用 Spring Boot 字典配置功能的 Spring 應用程序上下文

application.properties:一個空的 properties 文件,可以根據需要添加配置屬性

pom.xml: Maven 構建說明文件

四、項目簡單介紹及helloworld編寫

4.1、寫一個helloWorld接口

@RestController

@RequestMapping("/")

public class HelloWorldController {

@RequestMapping("hello")

public String index() {

return "Hello World";

}

}

@RestController 註解: 該註解是 @Controller 和 @ResponseBody 註解的合體版

4.2、單元測試

@RunWith(SpringRunner.class)

@SpringBootTest

public class ServiceAuthApplicationTests {

private MockMvc mvc;

@Before

public void setUp() {

mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();

}

@Test

public void contextLoads() throws Exception {

mvc.perform(MockMvcRequestBuilders.get("/hello").accept(

MediaType.APPLICATION_JSON))

.andExpect(MockMvcResultMatchers.status().isOk())

.andDo(MockMvcResultHandlers.print())

.andReturn();

}

}

4.3、pom文件介紹

<project>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelversion>4.0.0/<modelversion>

<groupid>com.test/<groupid>

<artifactid>springboot/<artifactid>

<version>1.0-SNAPSHOT/<version>

<packaging>pom/<packaging>

<name>spring-cloud-demo/<name>

<description>Demo project for Spring Boot/<description>

<parent>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-starter-parent/<artifactid>

<version>1.5.18.BUILD-SNAPSHOT/<version>

<relativepath>

<properties>

<project.build.sourceencoding>UTF-8/<project.build.sourceencoding>

<project.reporting.outputencoding>UTF-8/<project.reporting.outputencoding>

<java.version>1.8/<java.version>

<build>

<plugins>

<plugin>

<groupid>org.springframework.boot/<groupid>

<artifactid>spring-boot-maven-plugin/<artifactid>

<repositories>

<repository>

spring-snapshots

<name>Spring Snapshots/<name>

https://repo.spring.io/snapshot

<snapshots>

<enabled>true/<enabled>

<repository>

spring-milestones

<name>Spring Milestones/<name>

https://repo.spring.io/milestone

<snapshots>

<enabled>false/<enabled>

<pluginrepositories>

<pluginrepository>

spring-snapshots

<name>Spring Snapshots/<name>

https://repo.spring.io/snapshot

<snapshots>

<enabled>true/<enabled>

<pluginrepository>

spring-milestones

<name>Spring Milestones/<name>

https://repo.spring.io/milestone

<snapshots>

<enabled>false/<enabled>

/<project>

這個標籤是在配置 Spring Boot 的父級依賴

有了這個,當前的項目才是 Spring Boot 項目,spring-boot-starter-parent 是一個特殊的 starter ,它用來提供相關的 Maven 默認依賴,使用它之後,常用的包依賴就可以省去 version 標籤。

4.4、啟動類介紹(*Application)

@SpringBootApplication

public class EurekaServerApplication {

public static void main(String[] args) {

SpringApplication.run(EurekaServerApplication.class, args);

}

}

@SpringBootApplication是springBoot的核心註解註解: 該註解是@Configuration、@EnableAutoConfiguration、@ComponentScan 註解的合體版

4.5. properties介紹

springBoot 使用一個全局的配置文件 application.properties 或 application.yml,放置在【src/main/resources】目錄下

將 Tomcat 默認端口設置為 9090 ,並將默認的訪問路徑從 “/” 修改為 “/test” 時,使用 properties 文件



南京電競FUN


1.首先到spring boot 官網看看官方文檔。

2.收藏幾個好的博客學習一下。動手才是硬道理哦。

3.買一本spring boot 書籍學習。


分享到:


相關文章: