AdSense

網頁

2020/9/30

Spring Boot Configuration Processor 用途

Spring Boot spring-boot-configuration-processor用途如下。

2020/9/29

Java 執行緒 Reentrant Synchronization

Java Reentrant Synchronization(可重入同步化)機制

Java 設計模式 工廠方法模式 Factory Method Pattern

工廠方法模式屬於建構式模式(Creational Patterns)的一種,目的是用來建構物件。

2020/9/27

Spring Boot @PropertySource 依 spring.profiles.active載入對應的properties

Spring可在application.properties設定spring.profiles.active的值來切換不同環境用的application配置檔。而application外的自訂配置檔透過@PropertySource載入時也要依spring.profiles.active載入對應的配置檔的設定如下。

2020/9/26

Spring Data JPA @IdClass複合主鍵範例 composite key example

Spring Data JPA使用@IdClass設定複合主鍵(composite primary key)範例如下。

Java LocalDate與Date轉換

Java 轉換LocalDateDate的方法如下。

2020/9/25

Java 常用的運算子 common used operators

Java常用的運算子(operators)如下

2020/9/24

Spring Boot @ConfigurationProperties with @ConstructorBinding

Spring使用@ConfigurationProperties@ConstructorBinding將properties檔內容以建構式注入到bean。

Spring Boot 使用@ConfigurationProperties 綁定properties至Bean

Spring除了能使用@Value把properties配置設定值注入到成員變數中外,也可透過@ConfigurationProperties將properties檔內容綁定到Bean類的屬性。

Java 8 lambda combine two list with duplicate key

Java 8 lambda 合併兩個List,並排除具有相同key的物件。

2020/9/22

Oracle SYSDATE - ( 10 / 1440 )

今天看到一段Oracle SQL的條件中有SYSDATE - ( 10 / 1440 )這段敘述,意思如下。

C# 方法名稱命名慣例 method naming convention

今天無意間發現C#的方法命名慣例居然是大寫開頭的PascalCase,讓我小震驚了一下,真是孤陋寡聞。

2020/9/20

Java 變數(Variables)的種類 variable types

Java 變數(Varables)的種類如下。

2020/9/19

Spring Boot @ComponentScan掃描指定套件(包) scan specific package

在SpringBoot專案通常都直接把類別放在@SpringBootApplication類所在package下的package,然後Spring預設會掃描這些package並把掛有@Compoment@Repository@Service@Controller@Configuration的類別註冊為Spring bean

不過如果專案package及類別非常多會造成啟動時很慢,因為要花很多時間去掃描這些package。要改善此情況可設定只掃描特定的package來提高掃描註冊bean的效率。

Oracle COUNT(*) 與 COUNT(column) 區別

SQL計算資料筆數COUNT(*)COUNT(column)差別如下。

Lombok @SneakyThrows用法

Lombok @SneakyThrows用法如下。

2020/9/18

菜鳥工程師 暗色主題 Dark Theme

最近很流行暗色主題,從Facebook,Youtube到IDE,Stackoverflow,Docker官網都推出暗色背景為基調的顏色配置,所以我也來跟隨潮流一下把菜鳥工程師的網頁改成暗色主題風格。暗色看起來真的對眼睛比較不吃力,提高閱讀體驗。

The fin.- Night Time

前幾天在查I Mean Us這個樂團的資訊時,發現他們有些歌似乎有抄襲的情況

2020/9/17

Spring Boot 使用@Schedule建立排程任務範例

Spring Boot使用@Schedule排程(scheduling task)簡單範例如下。

Spring Boot 操控台印出彩色文字 console log ANSI color output

Spring Boot預設在IDE(IntelliJ IDEA or Eclipse)印出的日誌訊息都是單色的,但透過設定以下參數即可在操控台(console)印出彩色日誌。

IntelliJ Spring Boot java.lang.ClassNotFoundException: javax.servlet.Filter

從SVN checkout下來一個Spring Boot專案在IntelliJ IDEA執行出現java.lang.ClassNotFoundException錯誤。

2020/9/16

Maven 安裝目錄檔案到本地倉庫發生指定檔案不存在錯誤 install file to local repository specified file not exists

在Windows有pom.xml的目錄以cmd執行Maven的mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>命令來安裝檔案到local repository時發生錯誤。

2020/9/15

Java inner class shadowing

如果內部類別(inner class)(即非靜態巢狀類別(non-static nested class))成員變數(member variable)名稱與外層類別(enclosing class)的成員變數名稱相同,則內部類別的成員變數會覆蓋(shadowing)外層類別相同名稱的成員變數。

Java 雙括弧初始化 double brace initialization

最近在專案中看到直接建立帶有元素的ArrayList物件的特殊寫法如下。

Java 巢狀類別與內部類別 nested class and inner class

在類別中定義的類別稱為巢狀類別(nested class)如下。

Java 程式執行時出現NoClassDefFoundError錯誤

最近在一個沒有CICD自動部屬的老舊專案。修改好的Java程式如果需要在Dev環境測試,需要把本機編譯好的class檔手動貼到Dev環境的Tomcat WEB/INF/classes下對照package結構的目錄中來更新。

在本機執行某項功能時明明都正常,但在Dev環境測試時確出現NoClassDefFoundError錯誤。

2020/9/14

Eclipse SVN文字內容比較顏色設定 text compare color settings

Eclipse SVN文字內容比較顏色設定的位置如下。

Oracle 找出限制條件資料表 find ORA-02292 constraint table

在Oracle異動資料表時,若發生
ORA-02292: 違反完整性限制條件 (<constraint_name>) - 發現子項記錄
ORA-02292: integrity constraint (<constraint_name>) violated - child record found
代表刪除的資料被外鍵參考,所以有外鍵的限制條件。應該先把參照的子表資料刪除後才能把主表的資料刪除。

透過<constraint_name>找出參照的資料表的方式如下。

2020/9/13

2020/9/12

2020/9/11

Java Timer and TimerTask 簡單範例

Java TimerTimerTask簡單範例如下。

Java 轉位元組陣列為十六進位字串 convert byte array to hexadecimal string

Java 轉位元組陣列byte[]為十六進位字串(hexadecimal string)的方法如下。

2020/9/6

Servlet 下載classpath的檔案 download file in classpath

Servlet把classpath中的檔案寫出可供下載的方法如下。

2020/9/5

Servlet 接收POST請求傳入的json資料 read POST request json body

Java Servlet接收POST傳入的json的方法如下。

Eclipse 關閉專案減少記憶體用量 closing project to free memory usage

Eclipse在日常工作中通常不會只有一個project(專案),如果project暫時沒有用到的話,可以使用[Close Project]將其關閉。

Servlet simple Restful API

Servlet實現Restful API簡單範例。

TortoiseSVN 建立及套用修補檔 create and apply patch

最近又回去用很難用的SVN,想把修改的程式暫存起來之後回復,在git有git stash,但在SVN似乎只能用patch來達成類似的目的,除了麻煩外限制也很多。

2020/9/4

ORA-01008: 部份變數未被連結 not all variables bound

今天寫好久沒碰的PreparedStatement,結果執行時出現
ORA-01008: 部份變數未被連結錯誤。

2020/9/2

RockTek Rii mini i8+ 無線語音觸控鍵盤開箱

上網買了RockTek Rii mini i8+ 無線觸控鍵盤,原因是長時間使用滑鼠鍵盤造成我的頸肩非常痠痛,所以買了這台掌上鍵盤做些輕量的事,例如瀏覽網頁、Youtube或PTT。

2020/9/1

懷舊風情 20200901

2020年9月1日星期二

AdSense