1. 程式人生 > >《javaEE 開發的顛覆者,Spring boot實戰》

《javaEE 開發的顛覆者,Spring boot實戰》

本書簡介 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註解開啟。