spring-boot-quick
前言
自己很早就想搞一個總的倉庫就是將自己平時遇到的和學習到的東西整合在一起,方便後面用的時候快速的查找與使用,之前是通過branch
的方式去整理,感覺不直觀,一咬牙就花了點時間將所有的分支整合在一起(之前使用branch方式的兄dei,這裏對不住了,你們可以將之前的幹掉,重新克隆總的),方便自己也方便大家參考,以下是我的相關博客,有興趣的
可以去瀏覽瀏覽,覺得對自己有點啓發或者解決了一些問題,可以點個贊~
.
├── README.md
├── logs
├── pom.xml
├── qucik-activemq
├── quick-activemq2
├── quick-batch
├── quick-docker
├── quick-dubbo
├── quick-dynamic-bean
├── quick-exception
├── quick-idea
├── quick-img2txt
├── quick-jdbc
├── quick-jpa
├── quick-jsp
├── quick-log
├── quick-logback
├── quick-modules
├── quick-multi-data
├── quick-mybatis-druid
├── quick-oauth2
├── quick-okhttp
├── quick-oss
├── quick-package-assembly
├── quick-package-assembly-multi-env
├── quick-rabbitmq
├── quick-redies
├── quick-rocketmq
├── quick-swagger
├── quick-tika
├── quick-vue
└── quick-wx-api
spring-boot-quick
基於springboot的快速學習示例
所有分支介紹
quick-idea
- 自己用idea的配置
- ignore的模板
quick-crawler 平時的爬蟲
- 領英爬蟲
- 百度搜索領英種子url爬蟲和”隨機應變”的處理方式 (沒想到現在對領英爬蟲的需求這麼大,最近給一個客戶開了自動抓取領英數據的系統,處於安全,就把代碼刪掉了)
- 一鍵導出CSDN某用戶的所有博客內容並轉換爲MD格式到本地
已經將爬蟲模塊遷移到crawlers
quick-swagger
- web接口的規範化示例
添加了當傳遞參數爲對象時,如何使用swagger註解
注意:如果接受參數是已@RequestBody方式並且參數中包含日期類型的參數,可在對應模型的日期屬性上面添加
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
註解
如
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh" , timezone="GMT+8") // 注意時區的設置
private Date birthday; // 出生日期
swagger升級到2.7版本,添加了使用swagger驗證功能,注意這裏不是auth2鑑權
quick-thread
java線程池Executor的示例 點我
quick-modules
springboot 模塊化開發示例
quick-mybatis-druid
springboot整合mybatis和阿里雲的druid監控功能,日誌可以控制sql的輸出
添加springboot的health監控,鏈接如下
HTTP方法 | 路徑 | 描述 | 鑑權 |
---|---|---|---|
GET | /autoconfig | 查看自動配置的使用情況,該報告展示所有auto-configuration候選者及它們被應用或未被應用的原因 | true |
GET | /configprops | 顯示一個所有@ConfigurationProperties的整理列表 | true |
GET | /beans | 顯示一個應用中所有Spring Beans的完整列表 | true |
GET | /dump | 打印線程棧 | true |
GET | /env | 查看所有環境變量 | true |
GET | /env/{name} | 查看具體變量值 | true |
GET | /health | 查看應用健康指標 | false |
GET | /info | 查看應用信息 | false |
GET | /mappings | 查看所有url映射 | true |
GET | /metrics | 查看應用基本指標 | true |
GET | /metrics/{name} | 查看具體指標 | true |
POST | /shutdown | 允許應用以優雅的方式關閉(默認情況下不啓用) | true |
GET | /trace | 查看基本追蹤信息 | true |
quick-multi-data
- springboot mybatis 多數據源配置,別忘了爲多數據源的連接池配置
- 改爲druid多數據源,方便監控數據庫查詢和性能
quick-spark
springboot整合spark示例 已抽離 點我
quick-package-assembly
- maven打包示例包含jar的啓動與停止腳本(簡單粗暴,慎重考慮再使用)
- 使用assembly打包mybatis產生的xml時,可將對應mapperxml文件放在resources文件,然後再application.properties裏配置對應路徑,如
mybatis.mapperLocations=classpath:mapper/*.xml
這裏需要注意一下
quick-package-assembly-multi-env
程序 依賴包 分開化的多環境部署
quick-tika
apache的文本抽取開源框架,整合到springboot中
quick-ElasticSearch
關於es搜索的相關內容
現在在學習Elasticsearch+Logstash+Kibana 後續會有相關博文、和代碼示例~
注意:想要用好es,搜索是關鍵 移步這裏
quick-img2txt 圖片與文字轉換的程序示例
- 文字轉換成圖片
- 圖片轉換爲txt,可作爲一些程序啓動的註釋,如佛祖註釋,spring啓動註釋,等等,可以根據你輸入的圖片製作(背景一定要爲白色),如
前方預警!!!!
- 驗證碼識別 使用easyocr(項目地址)提供的api接口,可以識別驗證碼,這簡直是小蟲子的福利,就問你怕不怕!(現在收費了。。。)
quick-batch
spring下的批量處理大數據模塊,這裏是從mysql裏讀取然後再寫入mysql中,可以借鑑下,來源https://github.com/geekyjaat/spring-batch
quick-rabbit
rabbit模塊
做了個接口服務
應網友@Android-BRUCE 的要求,添加了延遲隊列的處理方式,包括針對消息和針對隊列的處理方式
一定要把圖看懂。。。
友情提示:如果在剛開始queue與exchange綁定錯了強烈建議從Rabbit管理頁面上刪除對應的配置再測試!!!
quick-exception
springboot下統一處理異常方法,即,在請求沒到達對應controller報錯之後的處理方法,比如404,400和500錯誤,此處返回的是json字符串,頁面的暫時沒有
quick-log
- 使用log4j2作爲日誌體系。主要實現的功能
- 控制檯輸出的是error日誌,但是日誌文件裏存的是info和error日誌,並且按年月日生成對應日誌文件
- 控制檯顏色輸出插件:Grep console
- 使用AOP輸出每個請求的詳細日誌
quick-wx-api
自己開發的小程序(哇哦窩)使用到的api,非常簡單,裏面集成了阿里封裝的httpclient工具包,挺好用的。
quick-jsp
前段時間一直沒有搞定在springboot中使用jsp,今天抽了點時間搞定了,有幾點需要注意的地方
- 創建項目的時候這樣選擇”spring initializr–>web”,ok之後的項目的resource下會有tamplates包,可以刪掉
- 創建webapp/WEB-INF目錄(具體根據自己喜好,只要在配置文件寫對路徑就可以了)
- 然後在pom文件中添加一下配置,目的是爲了讓webapp下的jsp文件留在META-INF中,讓boot訪問到
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
<resources>
<!-- 打包時將jsp文件拷貝到META-INF目錄下-->
<resource>
<!-- 指定resources插件處理哪個目錄下的資源文件 -->
<directory>src/main/webapp</directory>
<!--注意此次必須要放在此目錄下才能被訪問到-->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
quick-redis
工作上用到了redis,就添加了redis模塊,很簡單有key就獲取,沒有就插入
quick-rocketmq
此處的不是Apache 的Rocketmq,是阿里雲服務上的一個消息隊列
quick-logback
springboot內置的日誌管理模塊,使用slf4j
quick-activemq
springboot 整合activemq 服務 非常簡單,更負責的配置可以自定義containerFactory
quick-docker
使用docker部署springboot的示例demo,更多內容請見blog
quick-dynamic-bean
根據條件動態的創建bean
用到的場景:有的時候本地測試不想使用mq,可以在將mq對應consumer bean 加上contional註解,並
配置條件
quick-dubbo
整合dubbo,用的不是官方的dubbo-stater,用的是這個https://github.com/halober/spring-boot-starter-dubbo 配置很詳細
注意dubbo的結構
(後面會持續更新)
溫馨提示
如果您自己想在本地跑一跑,可以將其checkout到本地,直接mvn clean install -U
就ok了,如果您只想運行某個模塊,直接複製配置文件和代碼就ok了,如果您在測試某個模塊但該模塊出錯,請儘快聯繫本人,郵箱:[email protected],我會在第一時間將其修復
歡迎star、fork 和 pr