知识大全 通过注解简化spring aop织入点的指定

Posted

篇首语:人生遇到的每个人,出场顺序很重要,很多人如果换个时间认识,就会有不同的结局。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 通过注解简化spring aop织入点的指定相关的知识,希望对你有一定的参考价值。

    大型Java web应用 往往有很大的系统访问量 为了保护服务器免于出现过载的情况 一般都需要对流量进行控制 对于web页面的访问一般通过配置服务器或者apache可以起到保护的作用 但是对于webservice 在负载均衡之外还需要一些手段来防止系统过载 这些手段需要通过服务器端编码实现         一般地 实现这类监控一般选择是用aop的方式 在不影响功能代码的情况下进行 这里spring aop是一个通常的选择 无论通过xml配置的方式 还是使用AspectJ spring aop都必须由开发者通过代码形式确定织入点 对于小型webservice应用来        说 如果将一系列webservice接口放在同一的包中 那么配置还相对简单 但对于一个相对较大的webservice应用 他的配置将变得非常繁琐 并且对于个性化的需求并不好处理         AspectJ定义织入点是 可以通过使用比如execution within target等函数声明切入点 这些函数就不一一解释了 这里要说明的 是使用execution与annotation配合 实现自定义织入点的方法 方便灵活地配置需要监控的方法         先把代码贴上来         注解定义如下        @Target(ElementType METHOD)        @Retention(RetentionPolicy RUNTIME)        public @interface Monitor         String value() default ;                这样就可以在目标方法上使用注解了         切面         @Aspect        public class MonitorInterceptor         @Around( execution(* ** *()) && @annotation(monitor) )        public void doMonitor (ProceedingJoinPoint joinPoint Monitor monitor)         //业务代码                        execution(* ** *())表示执行任何方法        @annotation(monitor)表示方法上带有Monitor注解的        当满足这两个条件时即时满足条件的切入点        使用这种方式 在doMonitor方法中必须要有一个Monitor类型的入参 否则会抛出异常(试试就知道了)        如果不想使用这种方式 可以考虑使用        @Around( execution(@Monitor * ** *()) )        接下来只要将目标webservice做为一个bean加载到spring容器中 并且配置使用aspectJ即可 如下         <?xml version=         encoding= UTF ?><beans xmlns= /schema/beans         xmlns:xsi= / /XMLSchema instance         xmlns:context= /schema/context         xmlns:aop= /schema/aop         xsi:schemaLocation= /schema/context /schema/context/spring context xsd        /schema/beans /schema/beans/spring beans xsd        /schema/aop /schema/aop/spring aop xsd >        <aop:aspectj autoproxy /></beans>        测试类         public class Test         @Monitor        public void test         //业务代码                        只要将Test类配置入spring就能发现 aop生效了 cha138/Article/program/Java/hx/201311/25552

相关参考

知识大全 Spring注解入门

Spring注解入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用Spring注解来注入属

知识大全 Spring的静态Pointcut切入点

Spring的静态Pointcut切入点  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Spring的切入点(三 动态Pointcut)

Spring的切入点(三动态Pointcut)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由

知识大全 Spring的切入点(一 静态Pointcut)

Spring的切入点(一静态Pointcut)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  P

知识大全 Spring MVC学习之注解介绍

SpringMVC学习之注解介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  spring的注

知识大全 Spring AOP 详解

SpringAOP详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  此前对于AOP的使用仅限于

知识大全 Spring Batch 2将支持工作划分和基于注解的配置

SpringBatch2将支持工作划分和基于注解的配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 浅析Spring.net中的Aop使用

浅析Spring.net中的Aop使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 Spring事务处理及其AOP框架的内幕

Spring事务处理及其AOP框架的内幕  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ***注

知识大全 开源技术分析:AOP和Spring事务处理

开源技术分析:AOP和Spring事务处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一为什