在调用Service中方法时,发现缓存不生效,原因在于@Cacheable是基于Spring AOP,必须走代理才能生效,同类调用或者子类调用父类带有缓存注解的方法时属于内部调用,没有走代理,所以注解不生效。
然后用_this这个变量来指向该Service在容器中的实例,开始用的构造器注入@RequiredArgsConstructor。但是启动出现循环依赖的报错,因为@Service注解是单例的,所以可以用@Qualifier注解来解决,或者用@RequiredArgsConstructor(onConstructor_= { @Autowired, @Lazy })也能解决循坏依赖。