1.Spring Boot事務(wù)機(jī)制
所有的數(shù)據(jù)訪問(wèn)技術(shù)都有事務(wù)處理機(jī)制,而Spring的事務(wù)機(jī)制是用統(tǒng)一的機(jī)制來(lái)處理不同數(shù)據(jù)訪問(wèn)的事務(wù)。Spring 提供了org.springframework.transaction.PlatformTransactionManager接口,不同的數(shù)據(jù)訪問(wèn)技術(shù)的事務(wù)使用了不同接口實(shí)現(xiàn)。

在使用JDBC作為數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的時(shí)候,Spring Boot已經(jīng)給我們自動(dòng)開(kāi)啟了事務(wù)處理。在org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration中已經(jīng)定義。
在使用JPA作為數(shù)據(jù)庫(kù)訪問(wèn)的時(shí)候,Spring Boot也為我們自動(dòng)開(kāi)啟了事務(wù)配置。在org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration中。
Spring Boot還有專門配置事務(wù)的類。在org.springframework.boot.autoconfigure.transaction.TransactionProperties。
并且org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration還開(kāi)啟了對(duì)聲明事務(wù)的支持。
==注意==:
Spring Boot的聲明式事務(wù)標(biāo)簽@Transactional,一定要寫在Service層。這樣才能保證事務(wù)操作的完整性。
2.Spring Boot的緩存
Spring 在org.springframework.cache包中定義了CacheManager接口和Cache接口用來(lái)統(tǒng)一不同的緩存技術(shù)

Spring Boot為我們自動(dòng)配置了多個(gè)CacheManager的實(shí)現(xiàn)。而且默認(rèn)配置在org.springframework.boot.autoconfigure.cache包里有多種CacheManager的自動(dòng)注冊(cè)。默認(rèn)下使用的是SimpleCacheConfiguration。Spring Boot 支持以spring.cache為前綴配置屬性。
Spring Boot開(kāi)啟緩存需要在Application啟動(dòng)類上添加@EnableCaching
2.1Cache注解
- 1.CachePut
應(yīng)用到寫數(shù)據(jù)的方法上,如新增/修改方法,調(diào)用方法時(shí)會(huì)自動(dòng)把相應(yīng)的數(shù)據(jù)放入緩存。
- 2.CacheEvict
應(yīng)用到移除數(shù)據(jù)的方法上,如刪除方法,調(diào)用方法時(shí)會(huì)從緩存中移除相應(yīng)的數(shù)據(jù)。
- 3.Cacheable
應(yīng)用到讀取數(shù)據(jù)的方法上,即可緩存方法。比如查找方法,先從緩存紅讀取,如果沒(méi)有再調(diào)用方法獲取數(shù)據(jù),然后把數(shù)據(jù)添加到緩存中。