《SpringAop采用注解方式开发.pdf》由会员分享,可在线阅读,更多相关《SpringAop采用注解方式开发.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.建立工程后,首先所需要的导入jar-2.导入 jar 后,就该配置xml 注意下面红色的配置 -3.创建接口package spring.aop.service;publicinterface PeopleService publicvoid save(String name);publicvoid update(Integer id,String name);public String getPeopleName(Integer id);-4.实现累(业务bean)package spring.aop.impl;import spring.aop.service.PeopleServic
2、e;publicclass PeopleServiceBean implements PeopleService Overridepublic String getPeopleName(Integer id)System.out.println(this is getPeopleName method);returnXXX;Overridepublicvoid save(String name)System.out.println(this is save method);Overridepublicvoid update(Integer id,String name)System.out.p
3、rintln(this is update method);5.接下来了解下注解符号 1.第一步首先声明切面类package spring.aop.interceptor;import org.aspectj.lang.annotation.Aspect;Aspectpublicclass MyInterceptor 2.声明切入点 -拦截Pointcut(execution(*spring.aop.annotation.*.*(.)publicvoidanyMethod()/设置切入点(也就是说这个anyMethod()方法来代替切入的方法)/切入点:第一个*指的是对于任意返回类型,接下来s
4、pring.aop.annotation 包.指的是:本包或者字包里面,*这里指的是任意类,然后接下来*指的是任意方法(.)指的是任意参数3.设置前置通知Before(anyMethod()/拦截方法,在执行前先执行anyMethod()publicvoid doAccessCheck(String name)/这个是前置通知的方法,在调用bean 实例方法前 System.out.println(这是前置通知+name);6.编写测试类import org.junit.Test;import org.springframework.context.ApplicationContext;imp
5、ort org.springframework.context.support.AbstractApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import spring.aop.service.PeopleService;public class Junit4_test Test public void test()ApplicationContext ctx=new ClassPathXmlApplicationContext(beans.xml);PeopleService peopleService=(PeopleService)ctx.getBean(peopleService);peopleService.save(xixi);/peopleService.getPeopleName(11);实验总结:过程中遇到问题org.springframework.beans.factory.BeanDefinitionStoreException:IOException 该问题是由于建立该项目是Java 项目,beans.xml直接放在根目录里面,没有放在src 里面,导致出错,如果是web 项目是放在 webroot里面