原创 第 2-9 課:使用 Swagger 2 構建 RESTful APIs

什麼是 Swagger Swagger 是一系列 RESTful API 的工具,通過 Swagger 可以獲得項目的一種交互式文檔,客戶端 SDK 的自動生成等功能。 Swagger 的目標是爲 REST APIs 定義一個標準的、與語

原创 第 2-6 課:使用 Spring Boot 和 Thymeleaf 演示上傳文件

在互聯網行業中上傳文件是一個高頻的使用場景,常用的案例有上傳頭像、上傳身份證信息等。Spring Boot 利用 MultipartFile 的特性來接收和處理上傳的文件,MultipartFile 是 Spring 的一個封裝的接口,封

原创 第 3-4 課: Spring Data JPA 的基本使用

Spring Data JPA 是 Spring Boot 體系中約定優於配置的最佳實現,大大簡化了項目中數據庫的操作。從本課開始將會從 JPA 的由來開始講解,什麼是 JPA、Spring Boot JPA 的實現,以及如何使用。 概念

原创 第 3-5 課:Spring Data JPA 的高級用法

上節課介紹了 Spring Data JPA 的使用方式和基本查詢,常用的增、刪、改、查需求 Spring Data JPA 已經實現了。但對於複雜的數據庫場景,動態生成方法不能滿足,對此 Spring Data JPA 提供了其他的解決

原创 restTemplate 的post請求解決 亂碼問題

HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charse

原创 springcloud 項目 調boot項目 時 restemplate 注意事項

/** * RestTemplate配置 * 這是一種JavaConfig的容器配置,用於spring容器的bean收集與註冊,並通過參數傳遞的方式實現依賴注入。 * "@Configuration"註解標註的配置類,都是spr

原创 springboot 集成swagger

1.首先是引入架包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <versio

原创 搶紅包 -- 三

接下來我們使用樂觀鎖的方式來修復紅包超發的bug 樂觀鎖 樂觀鎖是一種不會阻塞其他線程併發的機制,它不會使用數據庫的鎖進行實現,它的設計裏面由於不阻塞其他線程,所以並不會引發線程頻繁掛起和恢復,這樣便能夠提高併發能力,也稱之爲爲非阻塞鎖。

原创 spring 2.0以上 整合redis和cache後使用@Cacheable 時間失效

    @Cacheable註解不支持配置過期時間,所有需要通過配置CacheManneg來配置默認的過期時間和針對每個類或者是方法進行緩存失效時間配置。 解決   可以採用如下的配置信息來解決的設置失效時間問題配置信息  @Bean

原创 秒殺

搶購/秒殺是如今很常見的一個應用場景,是高併發編程的一個挑戰,在網上也找了一些資料,大部分都是理論,關於java的實現也是很少,就算有也是很簡單的demo,爲此,決定將此次實現的秒殺系統整理一番,發佈出來。   架構思路 Question

原创 mybati 動態sql的 if語句

可以參照 @Select(value = "<script>" + " SELECT" + " com.id," + " tp.id AS topicId," +

原创 List去重問題

面試中經常被問到的list如何去重,用來考察你對list數據結構,以及相關方法的掌握,體現你的java基礎學的是否牢固。 我們大家都知道,set集合的特點就是沒有重複的元素。如果集合中的數據類型是基本數據類型,可以直接將list集合轉換成

原创 springboot整合mybatis多數據源

application.properties #mysql [email protected]@ spring.datasource.primary.username=

原创 對接【支付寶】支付接口

場景 最近在做支付寶的接口對接,之前做過一個版本,但是由於申請了新的賬號以前舊的的接口對接就不能使用了 所以就開始對接新的版本接口對接,在這裏也記錄一下讓那些還沒有對接的兄弟少走點彎路。 準備 先申請一個企業賬戶 https://mem

原创 微信掃碼支付

1.首先要選擇支付模式 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=2_1,進入這個鏈接可以查看相關的支付模式 web一般選擇都是掃碼支付。 類似於這個: 2.準備