spring AOP的样例代码
来源:互联网 发布:u盘恢复数据免费软件 编辑:程序博客网 时间:2024/06/04 23:22
/**spring 介绍 * @author chengj * @date : 20142014-2-19 下午07:58:51 * Spring 框架的两个核心特性 依赖注入(Dependency Injection DI) 和 面向切面工程 AOP (Aspect-Oriented Programming ) */
定义一个接口
package SpringTest;public interface Ihello {public void hello(String name);}
package SpringTest;/** * @author chengj * @date : 20142014-2-19 下午08:03:14 * 正常的业务 */public class HelloSpeak implements Ihello {public void hello(String name) {System.out.println(name+"hello");}}
package SpringTest;import java.util.logging.Level;import java.util.logging.Logger;import org.junit.Test;/** * @author chengj * @date : 20142014-2-18 下午08:27:54 * 静态代理 * 代理类 的一个接口 只能 服务一种类型的类。而且需要代理的方法有很多。势必要为每个方法进行代理,静态代理在程序鬼魔稍大时 * 必定是无法胜任的在 *在 JDK1.3 之后假如了可协助开发的动态代理公呢个的API等相关类别的,不需要为特定类和方法编写特定的带泪,使用动态代理, *可以是的一个处理者(Handler)为各个类服务 */public class HelloProxy implements Ihello {private Ihello helloObject;private Logger logger = Logger.getLogger(this.getClass().getName());public HelloProxy(Ihello helloObject) {//定义了接口this.helloObject = helloObject;}public void hello(String name) {log("hello method start "); //日志服务helloObject.hello(name);//执行业务逻辑log("hello method end ");//日期服务}private void log(String msg){logger.log(Level.INFO,msg);}}
测试
/** * @author chengj * @date : 20142014-2-18 下午08:35:03 * AOP 中的aspect 所指的可以是像日志等动作和服务 ,将这些动作(cross-cutting concern) * 设计为通用,不介入特定业务类的一个职责清楚的Aspect 类 。这就是所谓的Aspect-Oriented Programming AOP */package SpringTest;import org.springframework.aop.support.NameMatchMethodPointcutAdvisor;public class Test { @org.junit.Testpublic void testHello(){Ihello proxy = new HelloProxy(new HelloSpeak()); //用它来实现proxy.hello("chengj");}}
0 0
- spring AOP的样例代码
- spring的aop示例代码
- AOP、Spring的AOP
- spring AOP 部分代码
- Spring/Aop代码总结
- spring AOP代码实例
- spring(AOP)Aop的概念
- Spring aop 日志代码实例
- Spring AOP获取Proxy对象的代码流程
- spring aop搭建(2) :基于代码的实现
- Spring review--动态代理和AOP代码的演化
- 结合代码彻底理解Spring AOP的术语
- Spring AOP的实现原理详解及代码实例
- Spring中AOP的理解以及如何用代码实现
- spring采用aop配置事务管理的样例
- spring的的AOP
- Spring的AOP实现
- spring的AOP介绍
- 欢迎新同事!
- 设计模式9
- Matlab 距离变换
- 设计模式10
- 设计模式11
- spring AOP的样例代码
- mac下安装weka,提示文件已损坏!
- MFC:给按钮加上图片
- 设计模式12
- android传感器架构
- ubuntu 删除旧版本的启动项
- 设计模式13
- 设计模式14
- 设计模式15