1.Spring Boot事务机制
PlatformTransactionManager相关实现类所有的数据访问技术都有事务处理机制,而Spring的事务机制是用统一的机制来处理不同数据访问的事务。Spring 提供了org.springframework.transaction.PlatformTransactionManager接口,不同的数据访问技术的事务使用了不同接口实现。
在使用JDBC作为数据库访问技术的时候,Spring Boot已经给我们自动开启了事务处理。在org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration中已经定义。
在使用JPA作为数据库访问的时候,Spring Boot也为我们自动开启了事务配置。在org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration中。
Spring Boot还有专门配置事务的类。在org.springframework.boot.autoconfigure.transaction.TransactionProperties。
并且org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration还开启了对声明事务的支持。
==注意==:
Spring Boot的声明式事务标签@Transactional,一定要写在Service层。这样才能保证事务操作的完整性。
2.Spring Boot的缓存
CacheManger相关实现类Spring 在org.springframework.cache包中定义了CacheManager接口和Cache接口用来统一不同的缓存技术
Spring Boot为我们自动配置了多个CacheManager的实现。而且默认配置在org.springframework.boot.autoconfigure.cache包里有多种CacheManager的自动注册。默认下使用的是SimpleCacheConfiguration。Spring Boot 支持以spring.cache为前缀配置属性。
Spring Boot开启缓存需要在Application启动类上添加@EnableCaching
2.1Cache注解
- 1.CachePut
应用到写数据的方法上,如新增/修改方法,调用方法时会自动把相应的数据放入缓存。
- 2.CacheEvict
应用到移除数据的方法上,如删除方法,调用方法时会从缓存中移除相应的数据。
- 3.Cacheable
应用到读取数据的方法上,即可缓存方法。比如查找方法,先从缓存红读取,如果没有再调用方法获取数据,然后把数据添加到缓存中。
网友评论