原创 jhipster微服務--簡單demo

簡介 jhipster簡單來說是一個基於nodejs+yeoman的java代碼生成器。往大了說是基於java的一套微服務解決方案。請注意是一整套的微服務解決方案。jhipster在整個程序架構上都做好了整合,包括前端mvvm框架(ang

原创 架構名詞解釋

—分佈式— —微服務— 分佈式只是把東西分散部署,是一個比較籠統的概念。 微服務一般都是分佈式的,而微服務更強調敏捷和健壯,他的邊界應該更加清晰,包括你部署的程序和數據都應該獨立,這裏可能借助docker。 微服務要處理好服務的

原创 深入理解Java:註解(Annotation)自定義註解入門

要深入學習註解,我們就必須能定義自己的註解,並使用註解,在定義自己的註解之前,我們就必須要了解Java爲我們提供的元註解和相關定義註解的語法。 元註解:   元註解的作用就是負責註解其他註解。Java5.0定義了4個標準的meta-

原创 java事務(1)——Java事務處理的基本問題

—前言— 事務:   事務是訪問數據庫的一個操作序列,數據庫應用系統通過事務集來完成對數據庫的存取。事務的正確執行使得數據庫從一種狀態轉換成另一種狀態。     事務必須服從ISO/IEC所制定的ACID原則。ACID是原子性(at

原创 項目維護總結——日誌打印

日誌打印在開發中一般都是有2個極端,首先是什麼都不打印,出了問題之後一看後臺啥也沒有,然後修改;修改的結果就是什麼地方都打印,一出錯誤,找日誌找半天,定位一個問題要1,2個小時,甚至是更多的,之前遇到過一個開發團隊,定位解決一個問題用了

原创 Maven學習 (六) 搭建多模塊企業級項目

參考:http://www.cnblogs.com/quanyongan/archive/2013/05/28/3103243.html   參考:http://www.cnblogs.com/h--d/p/6001366.html

原创 jQuery文件上傳——blueimp.github.io/jquery-File-Upload中文

jQuery File Upload  jQuery File Upload 是一個 jQuery 圖片上傳組件,支持多文件上傳、取消、刪除,上傳前縮略圖預覽、列表顯示圖片大小,支持上傳進度條顯示;支持各種動態語言開發的服務器端。 地址

原创 java單元測試——JUnit4Hamcrest

Hamcrest 一句話,如果你寫單元測試,就應該用Hamcrest。 如今不寫單元測試,你都不好意思說自己在做工程項目了。但你一般這麼寫斷言呢?如果你還寫成下面這樣,我只能說你落伍了:   assertEquals(a, b

原创 代理模式——動態代理(自己寫一個)

思路 難點:proxy類,它的作用就是幫我們產生代理類。 將所有方法代碼拼接成字符串。將生成代理類的代碼拼接成字符串(包含所有方法拼接成的字符串)。將此字符串寫入文件中、並使用JavaComplier對它進行編譯。將編譯好的文件lo

原创 junit單元測試

單元測試 單元測試是指對軟件中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,如C語言中單元指一個函數,Java裏單元指一個類,圖形化的軟件中可以指一個窗口或一個菜單等。可以說,單元就

原创 java進階——異常

我提到最近一直爲一個項目進行Code Review的工作,從中發現了一些問題,同時也有了一些想法。這次我們來關注一個我們每天都會面對的問題:異常處理。 —異常處理不簡單— 個人覺得,異常處理對於程序員來說,尤其是對於那些初級程序員來說,

原创 java事務異常——Spring事務異常回滾,捕獲異常不拋出就不會回滾

最近遇到了事務不回滾的情況,我還考慮說JPA的事務有bug? 我想多了.......     爲了打印清楚日誌,很多方法我都加tyr catch,在catch中打印日誌。但是這邊情況來了,當這個方法異常時候 日誌是打印了,但是加的事務卻

原创 Spring AOP解析

前言 強烈建議學習代理模式——動態代理(JDK代理模式實現),學會動態代理後,你會發現AOP很簡單。推薦文章:代理模式——動態代理 AOP AOP(Aspect Oriented Programming),即面向切面編程,可以說是

原创 Spring——通過Web開發演進過程瞭解一下爲什麼要有Spring?

一、知史可以明鑑我們學習技術的時代趕上了最好的時代,跳過了很多前人經常踩的坑,前人在踩坑的過程中總結了很多經驗和教訓,而新時代的我們只是繼承了前人的經驗和教訓,而忽略了這些採坑的過程,以至於我們面對很多新技術都不知道他是什麼?他爲什麼存在

原创 Java事務(7)——使用Transactional註解

在本系列的上一篇文章中,我們講到了使用動態代理的方式完成事務處理,這種方式將service層的所有public方法都加入到事務中,這顯然不是我們需要的,需要代理的只是那些需要操作數據庫的方法。在本篇中,我們將講到如何使用Java註解(A