原创 Spring Boot實踐 | 利用Spring Security快速搞定權限控制

目錄 開始之前 快速開始 使用內存簽名服務 使用數據庫簽名服務 使用自定義簽名服務 限制請求 強制使用HTTPS 防止跨站點僞造請求 用戶認證功能 在java web工程中,一般使用Servlet過濾器(Filter)對於請求進行攔截,然

原创 JSR303參數校驗使用手記

參數校驗的必要性千篇一律,就不在多言了。 快速開始 1、引入jar包 springboot項目中引入jar包(有了springboot就是好,jsr303直接成了一個starter,不用再去擔心版本,jar包不對什麼的了)。 <depe

原创 spring項目中利用junit單元測試及多線程測試筆記

單元測試的好處不用多說,就光光是能減少bug,減少調試時間,就值得我們認真去對待。 快速開始 偷個懶,文章基於springboot配置單元測試 引入jar包 <dependency> <groupId>org.springf

原创 重試框架spring retry使用筆記

在項目開發中,經常會遇到需要重試的地方。除了自己寫循環(不是那麼優雅,也不方便維護,關鍵是可能還不那麼可靠)重試之外,還可以使用spring retry。 spring retry主要實現了重試和熔斷。 不適合重試的場景: 參數校驗不合法

原创 java註解

java中的Annotation功能可用於類、構造方法、普通方法、成員變量(全局變量)、參數等聲明中。該功能不影響程序的正常運行。 定義Annotation 基本語法: 定義Annotation的關鍵字是@interface。 @Tar

原创 索引

索引是一個單獨的、存儲在磁盤上的數據結構,它們包含着對數據表裏所有記錄的引用指針。 索引是在存儲引擎中實現的。 每種村粗引擎的索引都不一定完全相同,並且每種存儲引擎也不一定支持所有索引類型。 所有存儲引擎支持每個表至少16個索引,總索引長

原创 實訓項目:Java高併發秒殺API實現

簡介: 本實訓項目在原教程基礎上基於springboot+mybatis重新實現。 原課程地址:https://www.imooc.com/u/2145618/courses?sort=publish 項目亮點 前端:     穩定、快速

原创 MySQL存儲過程和存儲函數詳細使用教程

開始之前 首先創建如下兩張表,並初始化一些數據。 創建存儲過程(CREATE PROCEDURE) 基本語法格式如下: CREATE PROCEDURE sp_name (parameters) [characteristics .

原创 Protostuff 序列化簡單示例

Protostuff(官網:www.protostuff.io)是谷歌開發的一種數據交換格式工具,獨立於語言和平臺,類似於json。Google提供了多種語言的實現:java、c++、go和python。對象利用Protostuff序列化

原创 記google guava使用大雜燴

Guava是一種基於開源的Java庫,Google Guava源於2007年的"Google Collections Library"。這個庫是爲了方便編碼,並減少編碼錯誤。這個庫用於提供集合,緩存,支持原語句,併發性,常見註解,字符串處

原创 Navicat 連接Oracle

問題復現 用navicat連接oracle報錯:   連接方式 1、下載OCI,地址:https://www.oracle.com/technetwork/database/database-technologies/instant-c

原创 Spring中常用的工具類大雜燴

spring除了給我們提供IoC和AoP之外,還爲我們提供了很多工具類,方便開發。 BeanUtils 在我們的開發中經常會遇到對象的相互轉換,比如DTO轉VO,PO轉VO....... BeanUtils類就爲我們提供了簡便快捷的操作。

原创 Spring核心之AOP的兩種實現方式

前言 AOP是一種思想,並不是Spring獨有的,所有符合AOP思想都可以看作AOP的實現。在進入Spring AOP之前,先對它的一些術語做一個瞭解,它們是構成Spring AOP的基本組成部分。 名稱 說明 切面(Aspect) 切面

原创 SQL中的內連接查詢和外連接查詢

在項目開發中,單表的查詢肯定無法滿足所有的業務,所以很多時候都是多表的連接查詢。接下來總結一下SQL中的多表關聯查詢,以MySQL爲例。 前期準備 在數據庫中創建以下幾張表並添加一些數據。 1、部門表(tb_dept),如下 2、員工表

原创 實踐檢驗樂觀鎖與悲觀鎖

前言 在實際生產環境中,往往會遇到熱門的產品,導致短時間內大量用戶涌入。比如某款新手機上市,會在某個時間點開搶,這時就需要面對這個高並發現象。 我們就通過簡單的模擬實驗,復現這個場景並解決。 模擬過程(這裏針對單一商品,一次只能購買一個)