



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
J2EE企业级软件开发实验十六Spring的AOP功能学号:_ 姓名:_实验目的:1, 理解Spring的AOP的原理和基本概念2, 掌握Spring使用注解方式进行AOP编程的方法3, 通过Spring对事务管理的支持掌握AOP的应用实验内容和步骤:1, 在MyEclipse 中创建web工程(假设工程名为test15)。2, 使用Spring 2.5的注解为项目添加Spring支持1)添加Spring 2.5的三个jar,spring.jar , commons-logging.jar 和common-annotations.jar(支持注解的包)以及支持AOP的jar:aspectjrt.jar,aspectjweaver.jar和cglib-nodep-2.1_3.jar。2)添加配置文件beans.xml,添加context和aop命名空间:3)在model的package下创建需要被Spring管理的bean类,例如:创建一个Person类代码如下:package model;Componentpublic class Person public void sayHello() System.out.println(“Hello!”); 4)添加切面类:package interceptor;ComponentAspectpublic class MyInterceptor Before(execution (* model.Person.*(.)public void doAccessCheck() System.out.println(前置通知); 5)创建测试,例如:/ 测试ApplicationContext ctx=new ClassPathXmlApplicationContext(“beans.xml”);Person person =(Person)ctx.getBean(“person”);Person.sayHello();观察是否显示AOP类中的通知信息。3, 扩展上一步中的MyIntecepor类,试验各种类型的通知,以及Pointcut。package interceptor;ComponentAspectpublic class MyInterceptor Pointcut(execution (* model.Person.*(.)private void anyMethod() /声明一个切入点Before(anyMethod() & args(name)public void doAccessCheck(String name) System.out.println(前置通知:+ name);AfterReturning(pointcut=anyMethod(),returning=result)public void doAfterReturning(String result) System.out.println(后置通知:+ result);After(anyMethod()public void doAfter() System.out.println(最终通知);AfterThrowing(pointcut=anyMethod(),throwing=e)public void doAfterThrowing(Exception e) System.out.println(例外通知:+ e);Around(anyMethod()public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable /if()/判断用户是否在权限System.out.println(进入方法);Object result = ceed();System.out.println(退出方法);/return result;说明:通过配置各种通知理解其作用4,导入并运行和观察“Spring2.5整合Struts2和Hibernate3”工程,1)打开Spring的配置文件,applicationContext.xml,理解Spring的声明式事务管理的配置。2)打开项目中的inteceptor包下的MyInteceptor类,看是如何利用反射技术在方法进入时打印日志信息的。3)并观察dao.impl包下的PersonServiceImpl类,理解Spring的声明式事务管理的配置。package service.impl;/import略Component(personService)Transactionalpublic class PersonServiceImpl implements PersonService Resourceprivate PersonDAO personDAO;public void add(Person person) personDAO.add(person);public void delete(Person person) personDAO.delete(person);Transactional(propagation=Propagation.NOT_SUPPORTED ,readOnly=true)public List listAll() return personDAO.listAll();public void update(Per
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 废旧设备存放管理办法
- 延续宠物殡葬管理办法
- 庄园公共仓库管理办法
- 安溪县乡村导师管理办法
- 安徽省药品安全管理办法
- 工程变更管理办法试行
- 工程投诉举报管理办法
- 平潭公务接待管理办法
- 常州流动水域管理办法
- 奖学金评审管理办法试行
- 检验检测机构管理体系内部审核方法和要求课件
- 《大疆科技股利政策现状、存在的问题及完善对策(论文)8800字》
- 室内办公环境环境检测方案
- 繁峙县茶坊矿业开发有限公司3万t-a金矿开采项目 环评报告
- GB/T 20304-2006塔式起重机稳定性要求
- GB/T 14370-2000预应力筋用锚具、夹具和连接器
- 摄像头图像测试(以Imatest等为主要工具)项目及简介课件
- POCT血糖测定授权表
- 关节镜手术护理查房课件
- 复件1235接线员辅导草稿
- 痕迹检验学-自考-笔记
评论
0/150
提交评论