网上文章都是说需要在 Application 上加 @EnableCaching 注解才能让缓存使用 Redis,但是测试发现不用 @EnableCaching 也可以使用 Redis,是网上文章有问题吗?

现在 Application 上用了 @EnableAsync,@SpringBootApplication,@EnableTransactionManagement,@MapperScan 这几个标签。

结论

  • 是自动装配了。很多注解不需要你手动申明的,满足条件就会自动装配
  • @EnableTransactionManagement 其实也是不需要写的,有 dataSource bean,就能自动生效
  • 可以用 Redis 和 @EnableCaching 是两个概念:SpringBoot 只要发现你有 Redis 的依赖就会做自动装配,但 @EnableCaching 是指自动装配的 CacheManager 这个 Bean 会否使用 Reids 实现其 API