开发taotao项目的过程中,尝试统一打印日志,在类上使用 @Component 注解 把切面类加入到IOC容器中 ,使用 @Aspect 注解 使之成为切面类,项目启动调用接口,切面类不生效

但是相同方法实现的统一打印日志类在spring boot的项目中可以正常工作,考虑可能是spring boot已经为我们做了一些工作,研究后发现需要在spring配置文件添加<aop:aspectj-autoproxy />,以此标签声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。spring boot项目不用配置是因为spring boot默认设置spring.aop.auto=true,默认开启AOP支持

另外,spring项目中proxy-target-class默认为false,表示使用jdk动态代理织入增强,而springboot项目中默认为true,使用CGLib动态代理技术织入增强

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐