前言:
SpringBoot的好處是把Java2EE的各項技術的整合變得非常的簡單,但是也有它的缺點,它的封裝性太強,如果你想了解SpringBoot底層的原理,你必須對SpringMvc、Spring注解等比較了解,你才能更好的去了解SpringBoot底層原理,
同時它在阿里也是一種非常重要的技術點,長期以來這個技術點,也讓我輾轉反側,深思了多個可以突破的技術點,正處于迷茫之際,偶然一天朋友推薦,有幸看到了這個SpringBoot,讓我備受感發!在此小編分享給大家,
由于文章篇幅原因,文末有答案和決議
目錄
- 快速入門
- Web開發
- 日志相關
- 資料訪問
- 定時任務與異步呼叫
- 使用訊息中間件
- 其他功能與決議
正文
快速入門
- 第一份Spring Boot專案
- LntelliJ中快速創建專案
- 最佳實踐的工程結構(決議)
- 組態檔詳解
SpringBoot框架本身并沒有對工程結構有特別的要求,但是按照最佳實踐的工程結構可以幫助我們減
少可能會遇見的坑,尤其是Spring包掃描機制的存在,如果您使用最佳實踐的工程結構,可以免去不
少特殊的配置作業,
典型示例
- rootpackage結構: com.example.myproject
- 應用主類 Application.java 置于rootpackage下,通常我們會在應用主類中做一些框架配置掃
描等配置,我們放在rootpackage下可以幫助程式減少手工配置來加載到我們希望被Spring加載的內容
- 物體(Entity)與資料訪問層(Repository)置于 com.example.myproject.domain 包下
- 邏輯層(Service)置于 com.example.myproject.service 包下
- Web層(web)置于 com.example.myproject.web 包下
com+- example+- myproject+- Application.java|+- domain| +- Customer.java| +- CustomerRepository.java|+- service| +- CustomerService.java|+- web| +- CustomerController.java|
看看您現在的功能是否這樣配置,如果不是,不妨嘗試改變一下,看看是否可以去掉一些@Configuration配置?
更多決議:

Web開發
- 開發RESTful介面服務及單元測驗
- 開發Web應用,使用模版引擎與靜態資源
- Web應用的統一例外處理
- 使用Swagger2自動構建強大的API檔案
- 擴展XML請求和回應的支持
- 使用Spring-Security進行安全控制

日志相關
- SpringBoot日志管理
- 使用AOP統一處理Web請求日志
- 使用Log4j記錄日志
- 使用Log4j將日志寫入MongoDB
- 使用Log4j實作不同環境不同日志級別的控制
- 動態修改日志級別

資料訪問
文章資料都整理在一個檔案里面了,需要的朋友可以私信"框架”獲取喲
- 用JdbcTemplate訪問資料庫
- 使用spring-data-jpa實作簡單優雅的資料庫訪問
- 多資料源的配置與使用?
- 使用MyBatis訪問資料庫
- 使用MyBatis注解配置詳解
- 快取支持(一)注解配置與EhCache使用
- 快取支持(二)使用Redis做集中式快取
- 訪問Redis
- 訪問MongoDB
- 增強對MongoDB的配置(連接池等)【決議】
- 使用LDAP來統一管理用戶資訊
- SpringBoot中使用事務
- 使用Flyway管理資料庫版本
spring-boot-starter-mongodb-plus
幾周之前,我就在spring4all的github上創建了這個專案,主要就是想擴展一下官方springbootstarter
對mongodb的支持,提供更多配置屬性,比如:連接數的配置等,
先來看看如果使用這個擴展,是否要比之前那樣自己定制要方便的多:
如何使用
1. 在使用了
spring-boot-starter-data-mongodb 的專案中,增加以下依賴
com.spring4all
mongodb-plus-spring-boot-starter
1.0.0.RELEASE
1. 在應用主類上增加 @EnableMongoPlus 注解,比如:
@EnableMongoPlus
@SpringBootApplication
public class Application {
public static void main(String[]args) {
SpringApplication.run(Application.class,args);
}
}
可用配置引數
可用配置引數如下
spring.data.mongodb.option.min-connection-per-host=0
spring.data.mongodb.option.max-connection-per-host=100
spring.data.mongodb.option.threads-allowed-to-block-for-connection-multiplier=5
spring.data.mongodb.option.server-selection-timeout=30000
spring.data.mongodb.option.max-wait-time=120000
spring.data.mongodb.option.max-connection-idle-time=0
spring.data.mongodb.option.max-connection-life-time=0
spring.data.mongodb.option.connect-timeout=10000
spring.data.mongodb.option.socket-timeout=0
spring.data.mongodb.option.socket-keep-alive=false
spring.data.mongodb.option.ssl-enabled=false
spring.data.mongodb.option.ssl-invalid-host-name-allowed=false
spring.data.mongodb.option.always-use-m-beans=false
spring.data.mongodb.option.heartbeat-socket-timeout=20000
spring.data.mongodb.option.heartbeat-connect-timeout=20000
spring.data.mongodb.option.min-heartbeat-frequency=500
spring.data.mongodb.option.heartbeat-frequency=10000
spring.data.mongodb.option.local-threshold=15
上述配置值均為默認值


定時任務與異步呼叫
- Scheduled創建定時任務
- Async實作異步呼叫?
- Async實作異步呼叫:自定義執行緒池
- Async實作異步呼叫:執行緒池的優雅關閉
- Async實作異步呼叫:使用Future以及定義超時

使用訊息中間件
使用RabbitMQ

其他功能與決議
- 自動化配置的利弊及解決之道
- 后臺運行配置
- 使用JavaMailSender發送郵件
- SpringBootActuator監控端點小結
- Actuator的Info端點輸出Git與構建資訊

最后
最后這里就不多展示了,需要領取這份筆記的同學們,點擊這里 即可獲取PDF資料喲!
還有更多資料包含Spring,MyBatis,Netty原始碼分析,高并發、高性能、分布式、微服務架構的原理,JVM性能優化這些成為架構師必備的知識體系,相信對于已經作業和遇到技術瓶頸的碼友,在這里會有你需要的內容,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/347116.html
標籤:java
