加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用AOP的两种方式

发布时间:2020-12-16 05:57:09 所属栏目:百科 来源:网络整理
导读:第一种 XML方式 aop:aspectj-autoproxy proxy-target-class="true" /bean id="logIntercepter" class="com.samrtian.aop.LogIntercepter" /aop:config //开始配置aop:pointcut id="saveService" expression="execution(public void com.samrtian.DAO.UserDAO

第一种 XML方式

<aop:aspectj-autoproxy proxy-target-class="true" />
	
	<bean id="logIntercepter" class="com.samrtian.aop.LogIntercepter" />
	
	<aop:config> //开始配置
		<aop:pointcut id="saveService" expression="execution(public void com.samrtian.DAO.UserDAO.addUser(com.samrtian.model.User))" />     //配置一个全局切入点
		<aop:aspect id="log" ref="logIntercepter">   //定义切入类
			<aop:before method="before" pointcut-ref="saveService" />   //配置在方法前执行
			<aop:after method="after" pointcut-ref="saveService" />     //配置在方法后执行
		</aop:aspect>
	</aop:config>


第二种 注解方式

@Aspect    //定义切入类
@Component   //自动生成bean
public class LogIntercepter {
	@Pointcut("execution(public void com.samrtian.DAO.UserDAO.addUser(com.samrtian.model.User))") //切入哪些方法
	public void myMethod() {
		
	}
	
	@Before("myMethod")  //方法前执行
	public void before() {
		System.out.println("intercepter Method Start");
	}
	
	@AfterReturning("myMethod")  //方法后执行
	public void after() {
		System.out.println("intercepter Method After");
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读