Spring.NET的AOP怎么玩
2017-05-10 14:05
281 查看
之前公司一直不让使用第三方组件,因此AOP方面的组建一直不能使用,很多面向切面的应用只能通过自己写一些GenericMethod的泛型方法来解决,有一些呆板。由于公司已经开始全面转Java,因此架构组放开了第三方组件的使用,这儿将对Spring.NET进行一个基础的学习。该项目虽然有1年都没有更新了(也反映了.NET品台热度的下降),但可以为未来使用JAVA最一定的铺垫,因此还是决定干了。Spring.NET文档及官方地址:http://www.springframework.net/documentation.html版本选择:1.3.2,创建日期为20110801.蛋蛋的忧伤。
Spring AOP基本原理:使用代理模式实现
这部分主要涉及两部分的内容,一种是通过代码添加Advices,一种是通过配置,推荐后者。应用建议(Applying advice):应用于类中所有方法,粒度太粗。
View Code
Using Pointcuts应用切入点:可以控制为方法级别的粒度,实际中最常用,这儿介绍配置的方式。
接下来介绍其他的拦截器
Layering advice层次化建议(组合使用interceptor)
View Code
AOP的使用场景:缓存[Caching],性能监控,重试规则。这部分内容就到此为止,还有其他事宜,这个暂时就不使用了,确实存在适用性上的问题。不像JAVA Spring一样的整合使用,确实使用性下降很多,比如不是所有的场景都适合使用容器,且会增加系统的复杂程度。
Spring AOP基本原理:使用代理模式实现
这部分主要涉及两部分的内容,一种是通过代码添加Advices,一种是通过配置,推荐后者。应用建议(Applying advice):应用于类中所有方法,粒度太粗。
View Code
Using Pointcuts应用切入点:可以控制为方法级别的粒度,实际中最常用,这儿介绍配置的方式。
<object id="consoleLoggingAroundAdvice"type="Spring.Aop.Support.RegularExpressionMethodPointcutAdvisor"><property name="pattern" value="Do"/><property name="advice"><object type="Bjork.BaseService.BL.ConsoleLoggingAroundAdvice"/></property></object><object id="myServiceObject"type="Spring.Aop.Framework.ProxyFactoryObject"><property name="target"><object id="myServiceObjectTarget"type="Bjork.BaseService.BL.ServiceCommand"/></property><property name="interceptorNames"><list><value>consoleLoggingAroundAdvice</value></list></property></object>
接下来介绍其他的拦截器
Before advice | IMethodBeforeAdvice | Before(MethodInfo method, object[] args, object target) |
After advice | IAfterReturningAdvice | AfterReturning(object returnValue, MethodInfo method, object[] args, object target) |
Throws advice | IThrowsAdvice | AfterThrowing(Exception ex) |
Around advice | IMethodInterceptor | Invoke(IMethodInvocation invocation) |
View Code
AOP的使用场景:缓存[Caching],性能监控,重试规则。这部分内容就到此为止,还有其他事宜,这个暂时就不使用了,确实存在适用性上的问题。不像JAVA Spring一样的整合使用,确实使用性下降很多,比如不是所有的场景都适合使用容器,且会增加系统的复杂程度。
相关文章推荐
- Spring.NET的AOP怎么玩
- Spring.NET的AOP怎么玩
- 一个基于Spring.net AOP实现的安全方案
- spring.net 框架分析(四) AOP 简单示例
- Spring.net AOP异常记入单独日志文件
- spring.net aop
- 什么是spring.net的 核心DI容器、AOP、Web框架
- Spring.Net AOP 学习之旅: 使用 Throws Advice 处理异常
- spring.net 学习笔记之 AOP (异常记录实例)转
- 使用Spring.net AOP 实现积分服务
- Spring.NET AOP技术学习
- 浅析Spring.net 中的Aop使用
- spring.net 框架分析(五)AOP实现
- Spring.NET教程(十三)——AOP的配置(基础篇)
- Spring.NET教程(十二)——AOP的通知类型(基础篇)
- Spring.net-AOP 搭建网站通知服务(1)
- Spring.net 中的AOP功能
- Spring.NET教程(十一)——AOP的概念(基础篇)
- Spring.Net实现AOP以及AOP相关概念(学习笔记四)
- 应用AOP简化WinForm的异步操作——Spring.NET实现