原创 一次打包,多個環境運行(開發、測試、生產等)

1、問題描述 以前常用的,使用maven插件根據不同環境(開發、測試、線上)打不同的包,方便吧? 也還可以,但是打各個環境的包配置文件不一樣(maven打包是指定了編譯配置文件,未指定不會打包進來),有時候包會出現混淆,影響使用;最近使用了

原创 自定義註解+AOP記錄訪問日誌

1、問題描述 AOP攔截請求,記錄請求參數、返回參數及響應時間,以前已經介紹過了,但是發現有個小問題,就是有些心跳或者僅僅是查詢字典下拉框的請求,本身不用記錄,排除的話,需要一個一個排除,有點麻煩,就用自定義註解對aop記錄請求與返回做了個

原创 java項目,記錄頁面修改值,內部打“官司”用

1、問題描述 業務需求:項目中的配置信息,關係到程序跑出來數據準確性,需要記錄下什麼人、什麼時間、修改了什麼字段,原來值、最新值,以便回溯,防止扯皮,內部打“官司”用。 2、解決方案 通過java反射,後臺程序比對前端傳入值與數據庫中值,並

原创 再議java日誌管理logback

1、問題描述 關於java中的日誌管理logback,去年寫過關於logback介紹的文章,這次項目中又優化了下,記錄下,希望能幫到需要的朋友。 2、解決方案 這次其實是碰到了一個問題,一般的情況是,會單獨在linux上創建個用戶,線上和開

原创 提高實戰開發效率n倍(0<=n<=100),IDEA插件及setting設置

1、背景描述 開發工具Idea是程序員很重要的開發平臺,通過插件或者setting設置,能明顯提高開發效率,介紹下軟件老王目前用的插件和setting配置,有需要的朋友可以參考下。 2、解決方案 插件都是老王目前在用的的,不分先後,不過有些

原创 SpringBoot-AOP環繞通知記錄日誌/鑑權

1、問題描述 微信公號h5開發,前後端分離,因爲是在微信公號裏面操作頁面,還有涉及到不同手機操作也不一樣,導致聯調比較麻煩,定位問題也麻煩,以前寫過通過aop記錄所有前端http請求,就又拿出來梳理了下,記錄日誌,記錄下,希望可以幫到有需要

原创 Http調用-靜態封裝類(RestTemplate)

1、問題描述 項目中封裝了個restTemplate的靜態調用類,分享下,希望能幫到需要的朋友。 2、解決方案 2.1 簡要說明: 以前用httpclient用的比較多,後來開始用restTemplate,查了兩者的區別,大部分無非就是:

原创 一個神奇的標籤-@PostConstruct

1、問題描述 項目中封裝了個restTemplate的靜態調用類,統一調用外圍接口,但是發現外圍系統有些接口反應時間不穩定,還存在失敗的情況,爲了便於追蹤問題,將對外圍系統的入參和出參以及響應時間寫入到數據庫中,但是項目中都是通過靜態類調用

原创 沙雕Java端口進程

1、問題描述 idea非正常關閉了,重啓idea後,啓動項目,發現一直報端口被佔用,一般情況下通過在資源管理中,殺掉java.exe,重啓idea就好了,但是也有例外,關閉idea,殺掉所有java.exe還是不行,只好通過netstat進

原创 Mybatis Log不打印日誌

1、問題描述 mybasits log plugin是調試sql非常好的工具,可以將mybits賦值後,運行的sql打印到控制檯,對於開發過程具有很好的幫助效果,以前介紹過,就不再累贅了,但是默認情況下是沒有日誌打印的,需要配置下。 2、解

原创 再議分頁插件PageHelper

1、問題描述 java分頁以前介紹過pagehelper,最近項目中又用到分頁,看了下,發現使用springboot下使用起來更加方便了,又系統看了看,分享下,希望能幫到有需要的朋友。 2、解決方案 2.1 官方文檔 還是那句話,官方文檔纔

原创 微信分享(JS-SDK權限簽名算法)-Java實現

1、問題描述 公衆號中的H5有個業務場景,要分享頁面給好友,但是因爲是在微信中分享,分享的鏈接微信是不認的,需要首先使用簽名認證,認證後才能分享,按照微信官網api,首先需要獲取token,然後再根據token獲取jsapiticket,然

原创 java反射-變量鍵值對排序

1、問題描述 因爲要做API接口安全設計方案(已實現)(https://ruanjianlaowang.blog.csdn.net/article/details/118806853 ),牽扯到前後端加密簽名,從前端獲取json數據後,首先

原创 API接口安全設計方案(已實現)

1、背景 網絡安全方案,主要從數據加密與api接口安全兩個方面考慮,數據加密https已經加密了,就不再次加密了;主要從api安全方面考慮。 2、接口安全設計 在代碼層面,對接口進行安全設計 一、使用token進行用戶身份認證 二、使用si

原创 java枚舉轉json

1、背景 java後端的枚舉類型,要展示到前端,提供給用戶進行下拉選擇,java後端需要封裝enum爲json字符串提供給前端,需要首先將枚舉類型轉爲list,然後再轉爲json字符串。 2、方案 方案也很簡單,使用EnumSet.allO