原创 JAVA HttpClient使用

爲達到以下目的: 要發送的參數json和platformKey, 以post方式傳送,對參數進行Encode,只針對參數的值進行encode,否則解析不了; 引用的包 import java.io.BufferedReader; i

原创 java 註解的實例化

這裏介紹諸如@Override的註解是如何實現(實例化)的以及如何在運行時修改註解的屬性值? 其實註解是一個被final修飾、繼承Annotation的interface。 不過既然是interface,那麼就不能直接實例化,但是卻可以通

原创 curl常用功能

本文介紹curl的: 1)參數被截斷; 2)自動轉義編碼; 3)如何發GET和POST;參數被截斷 若欲發送:curl http://host:po

原创 maven 父子模塊

父子模塊的pom文件裏會涉及dependencies、dependecyManagement、packaging元素、properties元素。 子模塊裏必須有parent元素,如下所示: <parent> <group

原创 JAVA-AbstractQueuedSynchronizer

Java的AbstractQueuedSynchronizer的lock動作,是通過CAS操作去修改一個int型整數,該整數表示一個狀態,不同的子類對狀態的含義可以有不同的解釋。 而掛起自己則是通過Unsafe類的park()方法(不是O

原创 spring request的處理過程

在spring項目中,一個request過來後,都經過了哪些步驟纔到controller那裏呢?下面直接亮出結論,有興趣的可以繼續往下讀(當然了,只是粗略的記錄,要想深刻理解,還需要自己一步步跟進去看)。1、經過servlet框架的fil

原创 證書和SSL或TLS

本篇說明如下問題: 1、證書是啥,有哪些內容? 2、證書編碼及格式? 3、證書如何用? 4、tomcat如何啓用SSL? 5、keystore是什麼keytool有何用? 1、什麼是證書       一個證書包含(當前證書的公鑰(私鑰

原创 javax的Valid註解對泛型失效

我們知道javax的@Valid註解的效果是遞歸下去的。比如有一個如下的Controller: request的結構分別如下: 那麼QueryContractRequest的chainId字段上面的Min註解是會生效的。 但是,如果

原创 Logback

解決兩個問題: 1、日誌文件先按日期分割,再按指定大小分割; 2、日誌輸出到catalina.out; 1、日誌輸出到catalina.out 在logback.xml裏如下配置後就能輸出到console裏, <?xml version

原创 spring properties

1、取一個配置值,分割成list @Value("#{'${image.product}'.split(',')}") private List imageProducts; 2、獲取配置文件裏的所有key 除非自己定義一個proper

原创 javax的NotBlank和Email註解失效

使用javax的NotBlan和Email註解,結果保類似錯誤 no validator could be found for constraint 'javax.validation.constraints.notblank' 原來是

原创 javax註解適用範圍

javax的各種註解分別適用於什麼類型,有哪些邊界條件呢?先彙總如下: DecimalMax 通過最大值指定取值範圍 null是合法的 BigDecimal、BigInteger、CharSequence、byte、sho

原创 java項目相對路徑問題

1、背景 在做開發時,經常遇到這樣的情形: IDE、cmd、web容器,對於一個項目的主目錄路徑的獲取方式總是不一樣,而且跨os(如windows和linux)時更是如此,這樣太影像編碼了,因爲總不能一個一個if else吧 ~囧~。

原创 spring-aop

aop代理的實現是通過beanPostProcessor來實現的,標籤<aop:xxx>被解析成一個類型是AnnotationAwareAspectJAutoProxyCreator的bean,這個bean就是一個beanPostProc

原创 Spring自定義xml標籤

1、總體思路: 1.1) 編寫標籤schema 1.2) 添加文件spring.schemas和spring.handlers(目錄固定在classpath:/META-INF下,被依賴代碼必須打成一個jar包) 1.3) 編寫一堆ha