我可以在mybatis mapper上设置Spring AOP切入点吗?
Can I set Spring AOP pointcut on mybatis mapper?
<aop:pointcut id="logPointcut" expression="(execution(* net.com..a..*Controller.*(..))
or execution(* net.com.a..*ServiceImpl.*(..))
or execution(* net.com.a..*Mapper.*(..)) />
是xml文件中的切入点设置
public interface UserMapper {
List<UserVO> selectUser(UserVO userVO) throws Exception;
}
我想在界面中设置AOP切入点。
它们是由 mybatis 创建的。
上面的表达式不适用于映射器。
根本不可能吗?
这个问题已经在这里被问过几十次了,而且总是被想使用 Spring AOP 的人问过,但从来没有真正费心去查看它的文档或者至少在发布问题之前搜索 Whosebug。这样的开发者如何生存?
简短的回答是:
- 不行,Spring AOP只能拦截Spring个组件的方法。
- 如果你想拦截非Spring的东西,使用AspectJ。您可以在有或没有 Spring 的情况下使用它。如果您想从 Spring 使用它,Spring 手册会告诉您如何配置它。否则 AspectJ 手册会告诉您。
<aop:pointcut id="logPointcut" expression="(execution(* net.com..a..*Controller.*(..))
or execution(* net.com.a..*ServiceImpl.*(..))
or execution(* net.com.a..*Mapper.*(..)) />
是xml文件中的切入点设置
public interface UserMapper {
List<UserVO> selectUser(UserVO userVO) throws Exception;
}
我想在界面中设置AOP切入点。 它们是由 mybatis 创建的。
上面的表达式不适用于映射器。
根本不可能吗?
这个问题已经在这里被问过几十次了,而且总是被想使用 Spring AOP 的人问过,但从来没有真正费心去查看它的文档或者至少在发布问题之前搜索 Whosebug。这样的开发者如何生存?
简短的回答是:
- 不行,Spring AOP只能拦截Spring个组件的方法。
- 如果你想拦截非Spring的东西,使用AspectJ。您可以在有或没有 Spring 的情况下使用它。如果您想从 Spring 使用它,Spring 手册会告诉您如何配置它。否则 AspectJ 手册会告诉您。