Spring AOP 示例17 Mar 2025 | 5 分钟阅读 这里给出了 Spring1.2 旧式 AOP(基于 DTD)实现的示例。 虽然它在 Spring 3 中受支持,但建议使用 Spring AOP 与 AspectJ,我们将在下一页学习。 Spring1.2 旧式 AOP 实现支持 4 种类型的 advice。
要了解 Spring AOP 的基本概念,请访问上一页。理解 advice 接口的层次结构让我们通过下面给出的图表来理解 advice 的层次结构 ![]() 所有都是 AOP 中的接口。 MethodBeforeAdvice 接口扩展了 BeforeAdvice 接口。 AfterReturningAdvice 接口扩展了 AfterAdvice 接口。 ThrowsAdvice 接口扩展了 AfterAdvice 接口。 MethodInterceptor 接口扩展了 Interceptor 接口。它用于 around advice。 1) MethodBeforeAdvice 示例创建一个包含实际业务逻辑的类。 文件:A.java现在,创建实现 MethodBeforeAdvice 接口的 advisor 类。 文件:BeforeAdvisor.java在 xml 文件中,创建 3 个 bean,一个用于 A 类,第二个用于 Advisor 类,第三个用于 ProxyFactoryBean 类。 文件:applicationContext.xml理解 ProxyFactoryBean 类 ProxyFactoryBean 类由 Spring Framework 提供。它包含两个属性 target 和 interceptorNames。A 类的实例将被视为目标对象,advisor 类的实例将被视为拦截器。您需要在 xml 文件中将 advisor 对象作为列表对象传递。 ProxyFactoryBean 类的写法类似这样 现在,让我们调用实际的方法。 文件:Test.java输出在 MethodBeforeAdvice 中打印附加信息我们可以打印附加信息,如方法名称、方法参数、目标对象、目标对象类名、代理类等。 您只需要更改 BeforeAdvisor.java 和 Test.java 这两个类。 文件:BeforeAdvisor.java文件:Test.java输出2) AfterReturningAdvice 示例创建一个包含实际业务逻辑的类。 文件:A.java与前面的示例相同。 现在,创建实现 AfterReturningAdvice 接口的 advisor 类。 文件:AfterAdvisor.java创建 xml 文件,与前面的示例一样,您只需要在这里更改 advisor 类。 文件:applicationContext.xml文件:Test.java与前面的示例相同。 输出3) MethodInterceptor (AroundAdvice) 示例创建一个包含实际业务逻辑的类。 文件:A.java与前面的示例相同。 现在,创建实现 MethodInterceptor 接口的 advisor 类。 文件:AroundAdvisor.java创建 xml 文件,与前面的示例一样,您只需要在这里更改 advisor 类。 文件:applicationContext.xml文件:Test.java与前面的示例相同。 输出4) ThrowsAdvice 示例创建一个包含实际业务逻辑的类。 文件:Validator.java现在,创建实现 ThrowsAdvice 接口的 advisor 类。 文件:ThrowsAdvisor.java创建 xml 文件,与前面的示例一样,您只需要更改 Validator 类和 advisor 类。 文件:applicationContext.xml文件:Test.java输出 |
我们请求您订阅我们的新闻通讯以获取最新更新。