SpringMVC用XML方式实现AOP的方法示例

时间:2021-05-19

1.首先创建web工程,之后导入Spring jar包,目录如下


2.文件代码

2.1AfterAdvice

package com.niit.aop;import java.lang.reflect.Method;import org.springframework.aop.AfterReturningAdvice;/* * 后置通知 * havingClass方法执行之后才执行。 * 输出日记 * */public class AfterAdvice implements AfterReturningAdvice { @Override public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable { // TODO Auto-generated method stub System.out.println("后置拦截:下课之后写作业"); }}

2.2BeforeAdvice

package com.niit.aop;import java.lang.reflect.Method;import org.springframework.aop.MethodBeforeAdvice;public class BeforeAdvice implements MethodBeforeAdvice {/* * 前置通知 * 在havingClass切入点方法执行之前通知 * 用于验证用户的合法性。/判断一些数据是否存在。适用于检索。注册判断用户名是否存在。 * */ @Override public void before(Method arg0, Object[] arg1, Object arg2) throws Throwable { // TODO Auto-generated method stub System.out.println("前面拦截:上课之前要点名!在调用havingClass方法之前调用"); }}

2.3StudentIntercepter

package com.niit.aop;import org.aopalliance.intercept.MethodInterceptor;import org.aopalliance.intercept.MethodInvocation;public class StudentIntercepter implements MethodInterceptor { @Override public Object invoke(MethodInvocation method) throws Throwable { // TODO Auto-generated method stub if(method.getArguments().length>0) { String name=(String)method.getArguments()[0]; if("hmq".equals(name)){ System.out.println("中间拦截:你是hmq"); } else { System.out.println("中间拦截:你是学生"); } method.proceed(); } return null; }}

2.4StudentIF

package com.niit.logic;public interface StudentIF { public void havingClass(String name); public void dohomework(String name); }

2.5Student

package com.niit.logic;public class Student implements StudentIF { //作为aop的目标方法public void havingClass(String name) { System.out.println("aop的目标方法"); System.out.println(name+"正在上课");}public void dohomework(String name) { System.out.println(name+"正在写作业");}}

2.6StudentLogic

package com.niit.logic;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class StudentLogic { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); StudentIF s=(StudentIF)context.getBean("student"); s.havingClass("hmq"); System.out.println("---------------"); s.dohomework("hmq"); System.out.println("---------------"); s.havingClass("abc"); System.out.println("---------------"); s.dohomework("abc"); System.out.println("---------------"); }}

2.7applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://.niit.exception.MyExceptionHandler"/> --></beans>

4效果图

到此这篇关于SpringMVC用XML方式实现AOP的方法示例的文章就介绍到这了,更多相关SpringMVC XML实现AOP内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章