原创 RestTemplate學習
http請求方法 (1)GET:通過請求URI得到資源 (2)POST:用於添加新的內容 (3)PUT:用於修改某個內容,若不存在則添加 (4)DELETE:刪除某個內容 (5)OPTIONS :詢問可以執行哪些方法 (6)HEAD :類
原创 Spring 註解@Transactional
時刻感覺自己要寫出bug的節奏,瑟瑟發抖。 最近開發中發現一個問題,在使用@Transactional註解時,發現註解未生效,註解的方法在出現異常時,並沒有回滾。因此搜了一些該註解失效的原因。 @Transactional註解無效的原因
原创 工具類學習-CollectionUtils
CollectionUtils是日常經常會用到的一個工具類,在包org.apache.commons.collections中。 目前最常用到的兩個方法是CollectionUtils.isEmpty()以及CollectionUtils
原创 springboot gradle 使用過程中遇到的問題小結(6)
1. 報錯:Cannot deserialize instance of java.lang.String out of START_OBJECT token,我這裏報這個錯的原因是傳遞的json數據類型不對,修正後即可 2. 使用Jso
原创 分佈式事務
https://juejin.im/post/5b5a0bf9f265da0f6523913b 事務有ACID,是通過InnoDB日誌和鎖來保證。事務的隔離型是通過數據庫鎖機制實現的、持久性通過redo log重做日誌來實現。原子性和一致
原创 本地緩存和分佈式緩存的比較 堆污染
本地緩存和分佈式緩存的比較: 分佈式緩存一致性更好一點,本地緩存 每個實例都有自己的緩存,可能會存在不一致的情況。 本地緩存會佔用堆內存,影響垃圾回收、影響系統性能。分佈式緩存兩大開銷會導致其慢於本地緩存,網絡延遲和對象序列化 進程內緩存
原创 分區 分庫 分表 分片
https://blog.csdn.net/qq_28289405/article/details/80576614 https://www.cnblogs.com/junwangzhe/p/6420049.html 分區是物理數據庫的設
原创 Optional
目前的理解: 1. Optional中包含一個可以爲空的對象,應該在所有可能爲空的地方都加上Optional作爲返回值。強迫調用方自行判斷是否爲空。自己因爲老是忘記判斷是否爲null而導致空指針。 2. Optional之前自己最習慣的用
原创 Objects類
1. Objects,用於操作Object的靜態類。 equals(Object a, Object b),這裏感覺和Object中的equals作用相同。 deepEquals(Object a, Object b),這裏調用了Arra
原创 springboot gradle 使用過程中遇到的問題小結(5)
1. @RequestMapping @PostMapping @GetMapping @GetMapping和@PostMapping是組合註解 @GetMapping=@RequestMapping(method = Reques
原创 MoreObjects
MoreObjects是一個輔助類,提供了那些在Objects中沒有提供的方法。 T firstNonNull(@Nullable T first, @Nullable T second)。找出first和second中第一個不爲空的對象
原创 springboot gradle 使用過程中遇到的問題小結(4)
1. TypeReference 使用fastJson反序列化的時候用到 爲什麼使用TypeReference 淺談FastJson的TypeReference用法 2. MoreObjects.firstNonNull 返回第一個不爲空
原创 springboot gradle 使用過程中遇到的問題小結(3)
1. 生成jar包,本來想生成的是供其他項目引用的jar包。 但是利用右側gradle窗口中的tasks-》build-》bootJar生成的是可執行jar包,並不是想要的,這樣的jar包被引用之後,發現找不到對應的包以及所需要的類。 應
原创 springboot dubbo 踩坑(1)
1. 消費者consumer,使用了xml配置,@Reference註解發現注入null,後續改爲@Resource即可 2. 調用失敗,報錯: Failed to send response: Response [id=2, versi
原创 springboot gradle 使用過程中遇到的問題小結(2)
想要打包api層,然後出現錯誤: Plugin request for plugin already on the classpath must not include a version 新建的項目中默認的build.gradle中是: