原创 Java大話設計模式學習總結(二十八)---訪問者模式

訪問者模式(Visitor),表示一個作用於某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。 舉例: 有的節假日,公司會安排員工一起去戶外進行一些小遊戲,每個遊戲中,男女同事的任務形式

原创 springboot 同一方法內,多數據源切換,包含事務

最近項目遇到了同一方法內,主數據庫操作數據後,需往其他數據源同步數據的情景,在此記錄一下實現過程,也參照了下其他大牛的代碼 主要有兩種實現方式 通過主動方式切換數據源 直接獲取JdbcTemplate 參考文章: Spring

原创 Spring Boot 2實戰項目:信息管理系統(二)------ 持久層、分頁、業務邏輯接口及其實現類、Web層

1. Repository持久層 Spring Data 建議定義接口完成SQL語句的操作,該接口可以直接作爲Repository組件使用。當使用repository模式時,既能體現業務邏輯組件封裝repository組件的門面模

原创 Redis實戰學習總結(二)---Redis命令

2.1 字符串 在redis裏,字符串可以存儲以下3種類型的值: 字節串(byte string) 整數 浮點數 用戶可以對存儲着整數或者浮點數的字符串進行自增或者自減操作,在有需要的時候,Redis還會將整數轉換成浮點數。如

原创 java實現Excel動態列導出的簡單例子

可以通過該對象的set方法設置各個參數,headKey保存結果集中,數據對應的key值,ArrayList最佳,保證了導出列的順序,同時限制了每個sheet頁保存的最大數據行數爲5W條,這些參數也可以放到屬性中進行設置。 @Dat

原创 獲取當月月初、下個月月初、上個月月初、去年當月月初、去年下個月月初

public String getDayOfMonth(int year, int month, int type){ // type爲1代表當月月初,2代表下個月月初,3代表上個月月初,4代表去年當月月初,5代

原创 根據月份獲取當月日期集合

統計報表時,經常會有根據選擇的年月,獲取對應每一天的具體數據的需求,如果是當前年月,則統計到前一天。 由於涉及行轉列,以及一些其他需求,需要將日期以及當月第幾天當成參數,所以提取成了以下的公共方法,希望有大神能提供更好的方法。

原创 Spring中,@Transactional 註解的失效測試以及傳播行爲測試

分別測試四種情況: 同一個service中,A方法調用B方法,B方法拋異常 同一個service中,A方法調用B方法,A方法拋異常 service1中A方法,調用service2中B方法,B方法拋異常 service1中A方法,

原创 maven(一)------ 認識maven

參考文章 maven(一) maven到底是個啥玩意~ 1. maven是什麼 maven是基於項目對象模型(POM, project object model),可以通過一小點描述信息來管理項目的構建,報告和文檔的軟件項目管理工

原创 類加載器加載順序

先上代碼: public class Parent { { System.out.println("Parent的普通代碼塊"); } static { System.o

原创 springboot+netty+redis框架服務端的實現(一) ------ pom依賴、netty配置類、自定義協議以及編解碼器的實現

一、 pom.xml 所需依賴 MessagePack是編解碼工具,稍後介紹 <!-- https://mvnrepository.com/artifact/io.netty/netty-all --> <de

原创 springboot+netty+redis框架服務端的實現(二) ------ 業務處理類與心跳包超時處理、redis工具類、netty啓動類及遺留問題

四、 業務處理類與心跳包超時處理 業務處理類繼承了ChannelInboundHandlerAdapter類 通過重載userEventTriggered方法,可以實現心跳超時的設置 代碼如下: public class Serv

原创 自定義ClassLoader測試

參考博客: 深入分析ClassLoader 在閱讀文章後,對例子進行更詳細的解析。 Parend接口 public interface Parent { public void say(); } Man實現類 p

原创 springboot+mina框架服務端的實現(三) ------ 關於用tomcat優雅關閉mina的簡單研究

在之前的代碼中,創建mina連接時,NioSocketAcceptor採用的註解@bean中,destroyMethod是destroy。 在tomcat中執行shutdown.sh後,可能會出現內存泄漏的情況,例如: /\\

原创 springboot+mina框架服務端的實現(二) ------ 心跳包、自定義Session及其管理類、業務處理類、mina連接的創建

接上一節:springboot+mina框架服務端的實現(一) ------ pom依賴、mina配置類、自定義協議以及編解碼器的實現 參考博客:矢落葉の博客 四、 心跳包的實現 先簡單介紹下keepAlive的機制: 首先,需要