问题描述
- AOP与IOC的冲突/aop无法注入
- 项目架构同时搭建spring 和 spring mvc
在分库架构体系下我打算用aop来实现分库的实现流程,
我在spring xml里扫描了service,在mvc xml里扫描了controller
于是在mvc里配置aop 切面aspect可以设定service为切入目标
但是在spring里配置aop 切面aspect既不能设定service也不能设置controller为切入点
注:使用了@controller @service注解问题在于,无论我是在mvc里切入service,还是在spring里切入dao,程序能够正常启动但是无法正常切入,打印切面的代码。配置文件可以识别切面的目标
不知道是配置文件的错误还是jar包冲突导致的
```
<aop:aspectj-autoproxy proxy-target-class=""true""/><bean id=""logAspect"" class=""com.gm.spring.aop.log.LogAspect"" /><bean class=""org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"" />
```@Component@Aspectpublic class LogAspect { //Logger logger = Logger.getLogger(gm_log.class); //String logStr = null; @Before(""execution(* com.core.user.service..*(..))"") public void doBefore(JoinPoint jp){/* logStr = jp.getTarget().getClass().getName() + ""类的"" + jp.getSignature().getName() + ""方法开始执行 ****Start****""; logger.info(logStr);*/ System.out.println(""执行执行执行执行执行执行执行执行执行执行""); } }
@Transactionalpublic class sysMenuService { @Autowired private sysMenuMapper mapper; public List<sysMenu> getMenu(){ return mapper.getMenu(); }
解决方案
解决方案二:
附上一张jar包图,不知道是不是有jar包冲突造成的
时间: 2024-08-30 14:36:35