Spring学习(三)
来源:互联网 发布:html5网页制作软件 编辑:程序博客网 时间:2024/06/11 15:02
一、Spring使用注解进行AOP的开发
1,引入相关的jar包
2,编写目标类
public class CustiomImp implements CustomInter{ @Override public void save() { System.out.println("保存客户。。。。。"); } @Override public void update() { System.out.println("修改客户。。。。。"); }}
3,配置目标类并开启注解自动代理
<!-- 开启自动代理 --><aop:aspectj-autoproxy/> <!-- 配置目标对象 --><bean id="customImp" class="com.itcast.test1.CustiomImp"/>
5,AspectJ的AOP的注解
@Aspect:定义切面类的注解通知类型*@Before :前置通知*@AfterReturing:后置通知*@Around:环绕通知*@After:最终通知*@AfterThrowing:异常抛出通知*@Pointcut:定义切入点的注解。
6,编写切面类
@Aspectpublic class AspectAnno { @Before(value = "AspectAnno.fun()") public void log() { System.out.println("记录日志。。。。。"); } @After(value="AspectAnno.fun()") public void after() { System.out.println("最终日志。。。。。"); } @Around(value="AspectAnno.fun()") public void around(ProceedingJoinPoint point) throws Throwable{ System.out.println("环绕通知前。。。。。"); //手动强制调用 point.proceed(); System.out.println("环绕通知后。。。。。"); } /** * 自定义切入点 * */ @Pointcut(value="execution(public * com.itcast.*.CustiomImp.save())") public void fun(){ }}
7,配置切面
<bean id="myAspectAnno" class="com.itcast.test1.AspectAnno" />
8,测试代码
@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:applicationContext.xml")public class Test1 { @Resource(name = "customImp") private CustomInter customInter; @Test public void run1() { customInter.save(); customInter.update(); }}
二、源码
下载地址:http://download.csdn.net/detail/tianyejun6/9795840
0 0
- Spring学习(三)
- Spring学习(三)
- Spring学习(三)
- Spring学习(三)
- Spring学习(三)
- Spring MVC学习(三)
- Spring学习笔记(三)
- spring学习笔记(三)
- Spring学习笔记(三)
- Spring 学习(三)----JdbcTemplate
- Spring 学习笔记(三)
- Spring学习笔记(三)
- Spring学习笔记(三)
- spring学习笔记(三)
- spring实战学习(三)
- Spring的学习(三)
- spring学习总结(三)
- Spring学习笔记(三)
- 128位循环移位器
- 常用正则表达式
- 100. Same Tree
- Java温故而知新-冒泡法排序
- 关于DEV中的GridControl使用之GridView
- Spring学习(三)
- javaWeb学习_05:js的元素操作
- C++ vector基本操作
- 网页布局
- C#泛型 where约束
- Java线程池
- 医院如何对患者进行随访?
- JAVA: WARN for JSONObject.toJSONString将空指针格式化成字符串“null”
- 算法训练 最短路