原创 服務限流之redis實現

項目中有些場景可能需要服務限流,服務限流有多種實現方式,本文將做一個簡單示例,採用計數器的方式,通過redis實現。 需求舉例:針對某個商戶,限制一分鐘內訪問平臺服務不超過10次。 主要思路: 基於redis做一個計數器,可以以商戶編號爲

原创 Java調用存儲過程的幾種情況

項目中用到了Java調用存儲過程,趟過了幾個坑,現分享一下常用的幾種情形。下面的例子用的JdbcTemplate對持久層進行操作,有關JdbcTemplate的配置本文不再做詳細說明,如不清楚,可參考本人另一篇博文SpringBoot使用

原创 SpringBoot使用JdbcTemplate多種方式介紹

最近在一個springboot項目中使用到了JdbcTemplate,現將積累的一部分使用經驗分享給大家。本文總結了springboot使用JdbcTemplate的三種方式。 第一種: 依賴: <dependency>

原创 Oracle blob字段中文亂碼

項目中,有些業務數據存放在blob類型的字段中,常遇到的一個問題就是中文亂碼。本人蔘與的一個項目,在windows環境下,中文正常顯示,有一天切換到了Linux服務器上,同樣的代碼,竟然出現了中文亂碼。亂碼並不可怕,解決方式無非是統一編碼

原创 post請求返回數據中包含文件

最近在工作中遇到一個需求,post請求查詢某個業務記錄,返回的數據中除包含該記錄的基本信息外,還包含一個PDF文件。調用post請求後,需要將返回結果保存到數據庫中,同時將PDF文件存到本地硬盤。經過一番嘗試,解決了此需求,現將代碼分享出

原创 Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing

最近做的一個spring MVC項目,想用junit做單元測試,執行的時候報了一個錯誤: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang

原创 Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer

今天做了一個java對象轉Map的例子,執行的時候報錯了,如下: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collect

原创 mybatis查詢結果返回至實體類

近期,利用mybatis做一個簡單查詢,先看主要代碼: Service層: package com.example1.service; import java.util.List; import org.apache.log4j.L

原创 Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type

今天做了一個Map轉java對象的例子,用了一種比較簡單的方法,就是通過net.sf.cglib.beans.BeanMap類中的方法進行轉換。結果在一切準備就緒,執行的時候報錯了,如下: Exception in thread "ma

原创 Spring MVC Did not find handler method for 頁面顯示404

最近做的一個Spring MVC項目,配置完成後,啓動項目,控制檯沒有報錯。通過瀏覽器調用某個controller裏的get方法時,頁面顯示404錯誤,同時控制檯報錯如下: [2019-01-21 20:24:31,641] [http

原创 map與java對象相互轉換

最近,研究map與java對象之間的相互轉換,總結了5種方法: 第一種:使用org.apache.commons.beanutils轉換 用到的主要jar包:commons-beanutils-1.9.3.jar //map轉java對

原创 錯誤: 編碼GBK的不可映射字符

今天在用命令窗口做java練習時,遇到一個情況,javac編譯時報錯: D:\class>javac GreetingClient.java GreetingClient.java:17: 錯誤: 編碼GBK的不可映射字符

原创 @Transactional註解不起作用

最近,在做springMVC框架練習時,體驗了幾種事務管理的方式,其中在用@Transactional註解實現事務管理時,遇到了一些問題,最終得到了解決,現跟大家分享下。 先介紹下我做練習用的例子:在數據庫中建了個學生信息表(t_stud

原创 歸併排序java示例

歸併排序是建立在歸併操作上的一種有效的排序算法,該算法採用分治法的思想。分:將待排序序列拆分成一個個子序列。治:將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。 可以採用遞歸的方式將待排序序列拆分,然後

原创 堆排序Java示例

堆排序是指利用堆這種數據結構所設計的一種排序算法。堆的特點是子結點總是小於(或者大於)它的父節點,根節點最大的堆叫做最大堆,根節點最小的堆叫做最小堆。根據升序或降序的排序需求選擇使用最大堆還是最小堆,本文以升序排列爲例,所以選用最大堆。