Spring boot初嘗(一)

最近做學校一個課設,打算用springboot框架,在此逐漸記錄一下學習。
我的博客

官方2.2.4文檔

控制反轉(IOC)特性:

將代碼的調用權從調用方轉移到被調用方。不用修改調用方的代碼,只要修改配置文件就能夠實現對象的切換。調用時候使用一個接口或類的引用(不用new),就可以獲得對象(依賴注入:程序依賴於容器)。

應用入口類

spring有一個名爲*Application的入口類,入口類裏有一個main方法,是一個標準的java應用的入口方法。該方法可以包含三個註解
@Configuration:允許在上下文中註冊額外的bean(Spring容器中的java對象被稱爲bean)或導入其他配置類
@ComponentScan: 啓用@Component對應用程序所在的軟件包的掃描,並納入到spring容器中進行管理
@EnableAutoConfiguration:啓用Spring boot的自動配置機制,根據類路徑的jar包對當前項目自動配置
@SpringBootApplication:等於上邊三者相加
@ResponseBody:表示該方法的返回結果直接寫入HTTP response body中
@Controller:定義控制器類,在spring 項目中由控制器負責將用戶發來的url請求扎unfadao對應的服務接口(service層)
@Value:外部化配置

自動重啓:

spring-boot-detools 只要類路徑上的文件發生更改,使用的程序就會自動重新啓動。某些資源在更改時不一定要觸發重新啓動。默認的改變 /META-INF/maven,/META-INF/resources,/resources,/static,/public,或/templates不觸發重新啓動,但是會觸發現場重裝。如果要自定義這些排除項目可以使用spring.devtools.restart.exclude屬性。
eg:排除/static /public
spring.devtools.restart.exclude = static/** , public/**

重新啓動與重新加載:

spring boot的重啓技術通過兩個類加載器來工作。不變的類加載到基類加載器中,開發的類加載到重新啓動類加載器中。重新啓動應用程序時,將丟棄重新啓動類加載器,並創建一個新的類加載器。(因爲基類加載器可以直接使用,所以啓動速度比傳統啓動方式塊的多)。PS/如果還是覺得不夠快可以考慮ZeroTurnaround重新加載技術。 // 使用兩個類加載器是挺好,但是有時候會導致類加載問題,IDE中的項目的使用重新啓動類加載器,而.jar使用基類加載器,在多模塊項目中並不是每個模塊都導入到IDE中,就需要自定義加載。可以創建MATA-INF/spring-devtools.properties 文件,文件可以包含如下條目

restart.exclude.companycommonlibs=/mycorp-common-[\\w\\d-\.]+\.jar
restart.include.projectcommon=/mycorp-myproj-[\\w\\d-\.]+\.jar

include元素被拉到重啓類加載器中,exclude被退入基類加載器中。
侷限性:對於使用標準ObjectInputStream反序列化的對象,重新啓動功能不能很好地工作。

延遲初始化

啓用延遲初始化之後將會根據需要創建bean,而不是在應用程序啓動的時候創建。因此啓動的速度更快,在web應用中,啓用延遲初始化會導致許多和web有關的bea年知道收到http請求後才被初始化。快速,但是也導致了問題發現的延遲,以及JVM內存不足的潛在問題。當然,可以通過顯式申明:@Lazy(false) 自定義哪些bean使用延遲初始化。

外部化配置

Spring Boot允許外部化配置,使得可以在不同環境中使用相同的應用程序代碼。可以使用properties文件,YAML文件,環境變量,命令行參數來外部化配置。

今天就這些吧~~~逃
寫了一個配套的demo

實操的熱部署設置
1.在pom.xml中添加下邊依賴

<!--熱部署,自動重啓-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

2.在idea的設置中勾選Build project automatically
在idea的設置中勾選Build project automatically3.ctrl + shift +alt +/ 打開registry 勾選compiler.automake.allow.when.app.running
在這裏插入圖片描述4.重新run一下項目,完成

發佈了8 篇原創文章 · 獲贊 5 · 訪問量 5299
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章