原创 spring boot 最佳實踐(十)-- spring data jpa

Quick start 1.pom引用 在spring boot中可以直接引入stater,該starter默認引入Hibernate依賴。 <dependency> <groupId>org.springframework.b

原创 java 持久化

名詞大作戰 什麼是JPA JPA(Java Persistence API )中文名Java持久層API,JPA通過註解或XML描述對象-關係表的映射關係,並將運行期的實體對象持久化到數據庫中。Sun引入新的JPA ORM規範出於兩個

原创 事務(三)、弱一致性事務

書接上回,程序員窮開心通過數據庫實現了轉賬事務的強一致性。滄海桑田,世事變幻,話說李雷又要向韓梅梅轉賬100元,但事情有了變化。 故事的發展 李雷賬戶在火星人民銀行,韓梅梅搬到了水星,賬戶在水星人民銀行。程序員窮開心在海綿寶第三方支

原创 基於關係型數據庫的事務控制

前文講到程序員面對事務ACID特性如何實現一籌莫展,於是本文進入程序員窮開心的表演時間。 衆所周知,現代關係型數據庫天然支持實物ACID,但數據庫是怎樣實現ACID的呢? ** 數據庫實現ACID的核心技術是併發控制和日誌技術 **

原创 事務概念入門

事務(Transaction) 是由一系列對系統中數據進行訪問與更新的操作所組成的一個程序執行線邏輯單元;是指作爲單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完

原创 Java工具箱--getResource()

java如何查找資源 Java從“環境”(environment)加載資源,在許多情況下它使用Classpath中的所有jar來檢索資源。Java中的資源加載稱爲位置無關( location independent)是因爲它只需要正確的環

原创 互聯網開發常識譜--字符編碼

字符,字符集,字符編碼 什麼是字符 字符是一個信息單位,在計算機裏面,一箇中文漢字是一個字符,一個英文字母是一個字符,一個阿拉伯數字是一個字符,一個標點符號也是一個字符。 什麼是字符集 字符集是字符組成的集合,通常以二維表的形式存在,二維

原创 java 工具箱 AOP

Spring側重於提供一種基於代理(proxy-based)的AOP實現,我們可以無縫的整合Spring AOP,IoC和AspectJ,使得所有的AOP應用完全融入基於Spring的應用體系。Spring目前僅支持使用方法調用作爲連接點

原创 Java工具箱-java.security

  互聯網應用有大量敏感數據在公網傳輸,存在被僞造、篡改、非法讀取等風險。數據加密目前是對信息進行保護的一種最可靠的辦法。它利用密碼技術對信息進行加密,實現信息隱蔽,從而起到保護信息的安全的作用。 加密算法概述   加密算法分爲不可逆加密

原创 單元測試之JUnit5入門

關於JUnit5 與以前版本的JUnit不同,JUnit 5由三個不同子項目中的幾個不同模塊組成。 JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Pla

原创 互聯網開發常識譜--http協議

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,基於TCP/IP通信協議來傳遞多媒體數據。HTTP協議工作於客戶端-服務端架構上。瀏覽器作爲HTTP客戶端通過URL向HTTP服務端即WEB服

原创 互聯網微服務API應用編碼規範

技術選型: spring boot(Spring DATA+Spring MVC+slf+jackson), JDK1.8 接口約定 使用RestFul API接口;URL中不要使用動詞,如GET,ADD,CREATE等;URL中儘量包

原创 單元測試之mockito

在實際項目中寫單元測試的過程中我們會發現需要測試的類有很多依賴,這些依賴項又會有依賴,導致在單元測試代碼裏幾乎無法完成構建,尤其是當依賴項尚未構建完成時會導致單元測試無法進行。Mockito是mocking框架,它讓你用簡潔的API做測試

原创 spring boot 最佳實踐(三)--使用java.time

java.time由5個包組成參考: - java.time – 包含值對象的基礎包 - java.time.chrono – 提供對不同的日曆系統的訪問 - java.time.format – 格式化和解析時間和日期

原创 spring boot 最佳實踐(七)-- spring-retry

實際工作中由於網絡波動等原因導致代碼執行失敗需要重新執行,保證最終能夠完成業務功能。通常來說,會用try/catch,while循環或者定時任務重處理。但是這樣的做法缺乏統一性,要多寫很多代碼。spring-retry組件可以通過註解優雅