《javaEE 開發的顛覆者,Spring boot實戰》
阿新 • • 發佈:2019-02-14
本書簡介
1 推薦使用@configuration @bean 的Java配置來替代xml。
2 習慣優於配置的原則。快速搭建專案
3 在第一部分,介紹了快速Spring4.x各個知識點:基礎配置、常用配置、高階配置等。
4 在第二部分,介紹了Spring MVC 的各個知識點。
5 在第三部分,才是核心的介紹Spring boot。
Spring boot 核心 -各種配置
1 基本配置:入口類@SpringBootApplication。@ENableAutoConfiuration讓SB 根據類路徑中的jar包依賴為當前專案進行專案配置。建議入口類防止在gourpId+arctifactID組合包名下,便於SB進行掃描。
2 全域性配置檔案:src/main/resources/application.properties。
# 伺服器埠號:
server.port=9090
#預設路徑
server.context-path=/helloboot
3 引入xml配置
使用註解:@ImportResource
4 外部配置-常規屬性配置
@PropertySource 指定檔案位置,使用@Value引入。
5 日誌配置
預設使用Logback作為日誌框架
6 Profile配置
針對不用環境的不同配置 提供自持。
在application.properties中配置spring.profiles.active=prod
會找到檔案為application-prod.properties的檔案
7 啟動原理-自動配置相關
@SpringBootApplication中@EnableAutoConfiguration的EnableAutoConfigurationImportSelector 會找到具有/META-INF/spring.properties的檔案,而spring-boot-autoconfigure-xxx.jar中有spring.propertiesd
的檔案。在改檔案下面的類 都有各種條件註解。
8 介紹瞭如何自定義自動註解的方法。
1)使用@ConfigurationProperties("prefix=“hello”")註解。
2)自動配置若想生效需要註冊自動配置類,即在src/main/resources下建立/META-INF/spring.factories。在其中註冊如下內容:
9 Spring-web介紹了Thymeleaf,它是Spring-boot推薦使用的引擎。
10 第七章:通過註冊Bean來宣告Filter,servlet,Listener。
或者註冊為ServletRegistrationBean
11 可以在application.properties中配置tomcat容器的配置,比如埠號、回話session過期時間,Tomcat編碼,是否開啟Tomcat壓縮等。同樣這些配置也可以在程式碼中配置。
12 7.4.3中 替換tomcat為jetty:在pom.xml中 exclusion掉spring-boot-starter-tomcat,。引入spring-boot-starter-jetty
13 7.4. 介紹如何在Tomcat中配置SSL,及http自動轉向https。
14 spring data專案包含了一系列資料訪問的解決方案,包括關係和非關係資料庫的訪問。包括MongoDB、Redis、Hadoop、ElasticSearch等。
15 8.1引入Dokcer,對其安裝、基本使用做了介紹。
16 Spring的事務機制用統一的機制來處理不同資料訪問技術的事務處理。提供統一介面PlatformTransactionManager介面。
17 Spring快取
定義CacheManager和Cache介面來統一不同的快取的技術。
18 Spring企業級開發
包括安全控制Spring Security(主要認證和授權),它提供了一個多個過濾器實現的所有安全功能。只需要註冊一個特殊的DelegatingFilterProxy過濾器到WebApplicationInitializer即可。
19 Spring batch 處理大量資料(主要讀大量資料),然後進行一定處理後輸出成指定的形式。
20 監控
監控內容
支援http\jmx\ssh協議
21 分散式系統開發-Spring Cloud
配置服務:Config Server
服務發現:通過Netflix oSS的Eureka來實現服務發現。Eureka Server為微服務註冊中心。
路由閘道器:通過Zuul實現,支援自動路由對映到Eureka Server上註冊的服務。通過註解@enableZuulProxy來啟用路由代理。路由閘道器的主要目的是為了讓所有的微服務對外只有一個介面。
負載均衡:使用Ribbon和Feign作為客戶端的負載均衡。
斷路器(circuit breaker):主要是為了解決當某個方法呼叫失敗的時候,呼叫後備方法來替換失敗的方法,達到容錯、阻止級聯錯誤等功能。使用@EnableCircuitBreaker的來啟用。使用@HystrixCommand的fallbackMethod來指定後備方法。Spring Cloud還提供了控制檯監控斷路器的執行情況。使用@EnableHystrixDashboard註解開啟。