If there is a spring-boot-starter-aop dependency in the project's classpath, Spring will automatically create a bean named "org.springframework.aop.config.internalAutoProxyCreator".
This will cause Spring beans to be proxied twice. If one is a JDK dynamic proxy and the other is a CGLIB proxy, then the system will fail to start.
We may be able to avoid such errors by modifying the defaultAdvisorAutoProxyCreator method of the ShiroAnnotationProcessorAutoConfiguration class.
I have tested this modification in my own project and it works. Sorry, my English is not very good, this paragraph is written using Google Translate