2017年4月26日 星期三

[Tools] 單元測試利器 mock

[Tools] 單元測試利器 mock

目前接觸專案常常需要寫很多測試案例,基於分層測試再整合測試的原則,若是分層測試已經寫完,要再寫整合測試時,其實當中的很多測試都已經通過了,再重寫一次未免太過繁雜,故使用 mock 來協助處理一些可以被忽略的事宜。
以下就是目前常使用的 mock 利器:

[Java] 寫入及讀取 XML 檔案

[Java] 寫入及讀取 XML 檔案

這邊記錄兩種方式
一種是 DocumentBuilder 的方式,一種是使用第三方 Lib JAXB的方式


2017年4月6日 星期四

2017年4月5日 星期三

[Spring MVC] 處理靜態資源

[Spring MVC] 處理靜態資源

1. 使用 mvc:resource 指定相對應文件目錄

2. 使用 mvc:default-servlet-handler 處理預期之外的 serlet 請求

3. 使用 Tomcat 中的 defaultServlet (以 Tomcat 為 container時)

相關網址:
《經久不衰的Spring框架:SpringMVC 統括》
Spring mvc 奇葩的404問題,這裡解惑了

2017年3月27日 星期一

[Mybatis] 於Spring中使用 Interceptor 紀錄 SQL 語法

[Mybatis] 使用 Interceptor 紀錄 SQL 語法

相關 lib 版本
springVersion = "4.3.6.RELEASE"
mybatisVersion = "3.4.1"
mybatisSpringVersion = "1.3.0"
postgresqlVersion = "9.4.1212"


2016年10月20日 星期四

[Tomcat]解決 tomcat 無法進入 Server Status / Manager App / Host Manager 的狀況

[Tomcat]解決 tomcat 無法進入 Server Status / Manager App / Host Manager 的狀況

修改 tomcat-users.xml 的資訊,位於Tomcat安裝目錄下的conf目錄中
將相關 rolename 及 user 資訊加入
修改範例如下

2016年9月13日 星期二

[JasperReport] JasperReport 報表設計套用 command 模式

[JasperReport] JasperReport 報表設計套用 command 模式

預設報表須輸出 pdf,ods 兩種格式
需要
CommandProcessor interface
Command interface
設定 Processor 可以執行的 command,假設有三種
InputModel 為從前端 controller 所傳遞過來的屬性or資料
public interface CommandProcessor {
    String TO_FILE = "toFile";
    String TO_STREAM = "toStream";
    String TO_BYTE_ARRAY = "toByteArray";
   
    genReportToFile(InputModel inputModel)
    genReportToStream(InputModel inputModel)
    genReportToByteArray(InputModel inputModel)
}


2016年9月8日 星期四

[Spring] Annotation @Transactional 的各項 屬性

[Spring] Annotation @Transactional 的各項 屬性

用 spring 事務管理器,由spring來負責資料庫的打開,提交,回滾.

默認遇到運行期例外
(throw new RuntimeException();)會回滾:

[Java] Listener 簡易說明


[Java] Listener 簡易說明
相關類別
org.springframework.context.ApplicationEventPublisher
org.springframework.context.ApplicationEventPublisherAware
org.springframework.context.ApplicationEvent
org.springframework.context.ApplicationListener