怎么在不使用spring框架中使用aop的功能
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章为大家展示了怎么在不使用spring框架中使用aop的功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Spring框架的AOP机制可以让开发者把业务
千家信息网最后更新 2026年11月03日怎么在不使用spring框架中使用aop的功能
本篇文章为大家展示了怎么在不使用spring框架中使用aop的功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Spring框架的AOP机制可以让开发者把业务流程中的通用功能抽取出来,单独编写功能代码。在业务流程执行过程中,Spring框架会根据业务流程要求,自动把独立编写的功能代码切入到流程的合适位置。
spring提供了两种方式的AOP使用
使用xml配置方式

使用注解方式

这里需要注意的是Spring AOP目前仅仅支持方法级别的切面,成员的interception并没有实现。另外,spring aop仅仅是集成框架,并没有参与aop的具体开发。
如果想利用aop的更多功能,或者在不使用spring的框架中使用aop的功能,该怎么办呢?
AspectJ简介
spring aop集成了AspectJ(可以和java编程语言无缝结合的一个面向切面编程的可扩展框架)
AspectJ的使用实例
Eclipse Marketplace安装插件AJDT
创建Aspect工程
创建AspectJ测试类
创建一个切面Aspect文件
.aj文件
运行HelloAspectJDemo的java程序,结果为:
不使用spring的aop功能实现日志输出
第一种
public class TimeBook {undefined private Logger logger = Logger.getLogger(this.getClass().getName()); //审核数据的相关程序 public void doAuditing(String name){undefined logger.log(Level.INFO, name + "开始审核数据..."); System.out.println("审核程序"); logger.log(Level.INFO, name + "审核数据结束..."); }}//TestHelloWorld.javapackage com.gc.test;import com.gc.action.TimeBook;public class TestHelloWorld {undefined public static void main(String[] args){undefined TimeBook timeBook = new TimeBook(); timeBook.doAuditing("张三"); }}第二种:通过面向接口编程实现日志输出
public class TimeBook implements TimeBookInterface {undefined //审核数据的相关程序 public void doAuditing(String name){undefined System.out.println("审核程序"); }}//TimeBookProxy.javapackage com.gc.action;import org.apache.log4j.Level;import org.apache.log4j.Logger;import com.gc.impl.TimeBookInterface;public class TimeBookProxy {undefined private Logger logger = Logger.getLogger(this.getClass().getName()); private TimeBookInterface timeBookInterface; //在该类中针对前面的接口TimeBookInterface编程,而不是针对具体的类 public TimeBookProxy(TimeBookInterface timeBookInterface){undefined this.timeBookInterface = timeBookInterface; } //实际业务处理 public void doAuditing(String name){undefined logger.log(Level.INFO,"开始审核数据 "+name); timeBookInterface.doAuditing(name); logger.log(Level.INFO,"审核数据结束 "+name); }}public class TestHelloWorld {undefined public static void main(String[] args){undefined TimeBookProxy timeBookProxy = new TimeBookProxy(new TimeBook()); timeBookProxy.doAuditing("张三"); }}第三种:使用java的代理机制进行日志输出
public class LogProxy implements InvocationHandler{undefined private Logger logger = Logger.getLogger(this.getClass().getName()); private Object delegate; //绑定代理对象 public Object bind(Object delegate){undefined this.delegate = delegate; return Proxy.newProxyInstance(delegate.getClass().getClassLoader(), delegate.getClass().getInterfaces(),this); } //针对接口编程 public Object invoke(Object proxy,Method method,Object[] args) throws Throwable {undefined Object result = null; try{undefined //在方法调用前后进行日志输出 logger.log(Level.INFO,args[0]+" 开始审核数据..."); result = method.invoke(delegate, args); logger.log(Level.INFO,args[0]+" 审核数据结束..."); }catch(Exception e){undefined logger.log(Level.INFO,e.toString()); } return result; }}//TimeBookInterface.javapackage com.gc.impl;//针对接口编程public interface TimeBookInterface {undefined public void doAuditing(String name);}//TimeBook.javapublic class TimeBook implements TimeBookInterface {undefined //审核数据的相关程序 public void doAuditing(String name){undefined System.out.println("审核程序"); }}//TestHelloWorld.javapublic class TestHelloWorld {undefined public static void main(String[] args){undefined //实现了对日志类的重用 LogProxy logProxy = new LogProxy(); TimeBookInterface timeBookProxy = (TimeBookInterface)logProxy.bind(new TimeBook()); timeBookProxy.doAuditing("张三"); }}上述内容就是怎么在不使用spring框架中使用aop的功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
数据
功能
框架
程序
编程
日志
业务
接口
流程
输出
业务流程
切面
方式
张三
代码
内容
技能
文件
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
咖啡豆
广州百单互联网科技有限公司
科技平台互联网
互联网科技公司怎么样
互联网科技的英文
现代互联网科技股
洛阳昕诺飞互联网科技有限公司
开一家科技互联网公司需要多少钱
翼展科技 首家互联网医院
威龙国际互联网科技公司
华中科技大学互联网的牛人
元气玛特互联网科技公司是外包吗
互联网公司高科技产品
产业互联网科技服务公司
普陀区互联网教育科技管理办法
上海万顺科技互联网有限公司招聘
科技和互联网行业的特点
第三届互联网大会安防黑科技
利用互联网等科技手段
云信互联网科技有限公司
互联网金融监管科技数据
中国互联网科技股
互联网科技ppt模板
深圳艾佳互联网科技
岳阳华臻互联网科技有限公司
四川慕妮娅互联网科技有限公司
下一代互联网重大应用科技园
扫呗互联网科技有限公司
平安好医生打造互联网科技医疗