AdSense

網頁

2019/2/26

提供靜態方法的工具類別(Utility Class)的設計

寫Java程式時常會寫一些共用的工具類別(Utility),裡面提供一些靜態方法(static method)讓其他程式可以方便使用。

工具類應該可以設計如下。

Design Pattern Java Integer Flyweight Pattern 享元模式

今天在學習享元模式 Flyweight Pattern,發現原來Java的Integer中有用到這個模式。

2019/2/24

Java 物件轉JSON字串 - by Jaskson

把Java物件轉為json字串的方法如下。

使用SpringBoot打造記帳簿專案(二十四)註冊Controller

本篇要寫一支接收夾帶json請求的Controller。

Spring AOP 取得切入對象的Class名稱,Method名稱及輸入參數

Spring AOP取得類別及方法名稱的做法如下。

2019/2/23

網站「註冊」,「登錄」,「登出」的英文

「註冊」,「登錄」,「登出」的英文可使用以下。

2019/2/22

Spring Boot的配置檔application.properties的屬性名稱規則

Spring Boot的外部配置設定檔application.properties讓我們可以設置一些環境參數。

MyBatis 如何關閉一級快取 How to close first level cache (local cache)

MyBatis執行SQL時預設使用第一級快取(first level cache),也就是local cache來減少直接從資料庫取得資料。但local cache的作用範圍僅限於SqlSession本身,在不同的SqlSession之間並不共享,可能會造成不同SqlSession間資料不一致的問題。

MyBatis的一級快取local cache原始碼分析

本篇從MyBatis的原始碼來理解Mybatis的第一級快取(local cache)的機制。

如何在Windows 7啟動及關閉MySQL Server

在Windows 7啟動MySQL Server方法如下。

2019/2/16

Git 復原被修改的 unstaged 檔案 recover unstaged changes files

Git 要把內容被修改過的檔案恢復成未修改前的內容,使用git checkout <file>

使用SpringBoot打造記帳簿專案(二十三)Spring Boot 2.1整合JUnit 5

本篇介紹在Spring Boot 2.1專案中整合JUnit 5。

Maven 執行建置時略過test步驟
Maven build skip test

使用Maven build建置專案時,若要省略test步驟,可以使用以下參數。

使用SpringBoot打造記帳簿專案(二十二)修改Spring Boot版本

在之前使用SpringBoot打造記帳簿專案(十)建立SpringBoot專案中建立Spring Boot記帳簿專案時的版本為2.2.0.BUILD-SNAPSHOT,但要改成2.1.3.RELEASE版本。

JUnit 執行測試時出現ClassNotFoundException錯誤

執行JUnit測試程式時,出現ClassNotFoundException導致無法執行測試。

Spring Boot 2 JUnit 4 to JUnit 5 @MockBean 無法注入

今天工作的Spring Boot專案將原來的JUnit 4升至JUnit 5時,原本測試程式中使用@MockBean注入的mock物件變成無法注入,執行時為null導致NullPointerException錯誤。

2019/2/11

Java 8 LocalDate取得日期

Java 8 可使用java.time.LocalDate來取得日期資訊,不要再用舊的java.util.Date了。

2019/2/10

使用SpringBoot打造記帳簿專案(二十一)打包Spring Boot專案為可執行的jar檔

本篇說明如何將專案打包成可執行的jar檔。

Eclipse 專案執行Maven Update後出現Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result警告

在Eclipse的Maven專案執行Maven Update出現警告如下:

Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result

Maven test Mybatis Binding Invalid bound statement錯誤

今天執行mvn package打包專案時,進行test階段時出現org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)錯誤。

2019/2/9

Maven 如何移除target目錄下的檔案

要移除Maven專案中target目錄下的檔案方式如下。

該用Email帳號作為主鍵 (Primary key) 嗎?

資料庫設計中,例如【使用者】或【會員】資料表,應該以Email帳號作為主鍵(Primary Key, PK)嗎?

2019/2/8

Eclipse 深色主題 DevStyle dark theme

Eclipse 深色主題(theme)推薦安裝DevStyle plug-in,在Marketplace搜尋"DevStyle"並安裝就好了。

2019/2/7

使用SpringBoot打造記帳簿專案(二十)MyBatis測試

本篇會寫一支簡單的測試程式來測試MyBatis。

台灣與中國的用語差別 「行」與「列」

這陣子發現到讓我很震驚的事,就是「行」與「列」的意思在台灣與中國是相反的。

MySQL Workbench Result Grid row height is too small

When I query data in MySQL Workbench 6.3 (64 bits) Community, the row height in Result Grid is too small, so the characters inside the row will be cut off. MySQL Workbench doesn't adjust Result Grid row height automatically according to the font size of the data.

MySQL 如何TRUNCATE有外鍵限制的資料表

若一張資料表有外鍵限制(Foreign key constraints),則TRUNCATE該資料表時會發生下錯誤:

Error Code: 1701. Cannot truncate a table referenced in a foreign key constraint (`dbname`.`table1`, CONSTRAINT `fk_table2_table1`)

Eclipse 如何快速導覽MyBatis的Interface Mapper方法與對應的XML Mapper

在Eclipse的Marketplace搜尋MyBatipse安裝後重啟即可,此plugin可以讓你直接按住ctrl + 滑鼠左鍵點選Interface的方法名稱直接快速跳到對應的XML Mapper文件中的位置。

使用SpringBoot打造記帳簿專案(十九)MyBatis設定

Spring Boot的MyBatis設定。

Eclipse Source Folder src/test/java 及有些jar檔變黑

如果你看到Eclipse專案中的src/test/java或有些jar檔圖案變成黑色的原因如下。

2019/2/6

MySQL JDBC連線的URL格式

在設定應用程式連線至MySQL的datasource時,需要設定要連線資料庫的URL位置,URL的設定方式如下。

MySQL JDBC driver class name

MySQL JDBC driver的名稱如下。

使用SpringBoot打造記帳簿專案(十八)MySQL資料表修改記錄

記帳簿專案MySQL最開始的版本為使用SpringBoot打造記帳簿專案(九)建立MySQL資料表,而本篇為其修改紀錄。

使用SpringBoot打造記帳簿專案(十七)使用Eclipse MyBatis Generator plugin自動產生存取資料表的檔案

本篇介紹如何在Eclipse安裝MyBatis Generator plugin (簡稱MBG),然後自動生成MyBatis與資料表的相關檔案。。

HTTP Methods GET與POST的區別

HTTP Methods的GETPOST request的區別如下。

2019/2/4

Vue 在Mustache符號中插入Vue methods

本篇僅示範在html中使用Vue的Mustache tag{{}}(又稱模板語法(template syntax))插入Vue實例的methods的回傳值。

閱讀本篇前建議先看Vue 我的第一支Vue.js

程式 Linting 的意思

Linting的意思是「找出程式碼中的錯誤,包括編譯上的錯誤,潛在的語法問題,錯誤的撰寫風格等。」

2019/2/3

JavaScript Hoisting

本篇簡單說明JavaScript Hoisting效果。

JavaScript ES6 建立一個類別

在JavaScript ES6(ECMAScript 2015)可使用classconstructor來建立類別。

HTML 5 <template>

HTML的<template>的作用。

在Windows 7安裝node.js及npm

在Windows 7 64位元安裝node.js的過程如下。

2019/2/2

使用SpringBoot打造記帳簿專案(十六)使用Spring AOP對方法做log

本篇將設定Spring AOP來對Controller的方法做log。

使用SpringBoot打造記帳簿專案(十五)建立新的git dev分支

本篇會在記帳簿專案建立新的分支用來開發使用

常用的HTTP /1.1 Methods及用途

HTTP/1.1常見的請求方法(Methods)如下。

2019/2/1

Java bit flag

當要用一個值儲存多種狀態的時候,可以利用bit flag。

日誌 20190201

我在第一高峰銀行轉核專案的日子。

AdSense