`
phoenixfu
  • 浏览: 96791 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决Spring AOP (注解方式) Controller 不生效

阅读更多
    很久没写文章了,一来是工作比较乏味,基本上没遇到什么比较有意思的问题,基本上很多问题,网上都能解决~ 二来。。懒了~,最近在职业道路上又遇到了坎,所以提起“笔”,对于平复心情也是一种好的方式~

    好吧,进入今天的主题,Spring AOP 不生效 是怎样一个情况呢?接触SSH也很久了,从仰望到觉得,其实也挺烦恼的~ 自己比较倾向于“零配置”的开发,也许本身对配置觉得无爱吧~ 所以一般都使用注解,各种注解,各种深懂滴赶脚~
   
    正文,关于Spring AOP 实现原理、细节、使用方式等等,大家可以看看我文章末尾的推荐文章。虽然这些和本次话题没多大关系。其实,本次的环境是,使用了Spring MVC的项目,之前没写过AOP,看例子是简单,自己单项目一点问题都没,但应用到Spring MVC的项目的Controller里面,就出现问题了。。。Aspect 不生效

   开始排查问题:
1,检查Aspect Bean的各种注入方式,使用了很多种,问题依旧
2,检查execution语法,貌似没错,因为不生效,问题依旧
3,打印Aspect Bean,发现已成功加载,但依旧不生效
4,修改execution语法,切到Service层方法,是可以的,就是Controller不生效
5,转移纠结点,研究点底层的东西了……后,才知道Spring MVC加载的是WebApplicationContext而不是ApplicationContext,有什么不一样呢?其实不需要在意了,我猜应该差不多的,只是一贯的做法是把东西配置到ApplicationContext.xml,嘿嘿,问题就在这! 应该把schema和加载加到 spring-mvc.xml,然后?一切正常
6,execution切Controller切Service 秒了。。糟糕,还没试切Dao呢…… 呵呵,我去切糕算了 

结束语:接触任何事物,不管熟悉与否,总会被一些不以为然的细节或一知半解的知识影响了对正确道路的认知,然后就得花费更多时间去弄懂其中。框架越来越多,工具越来越厉害,虽然明白百变不离其中,但又有谁能事事打破沙锅问到底呢? 希望能帮助有需要的人,节省时间,提高效率~ 谢谢阅读

比较分析 Spring AOP 和 AspectJ 之间的差别
http://www.oschina.net/translate/comparative_analysis_between_spring_aop_and_aspectj?cmp
AOP 那点事儿
http://my.oschina.net/huangyong/blog/161338
http://my.oschina.net/huangyong/blog/161402
Spring AOP 实现原理
http://www.ibm.com/developerworks/cn/java/j-lo-springaopcglib/
2
5
分享到:
评论
1 楼 a363722188 2014-03-27  
学习了  谢谢分享知识!

相关推荐

    spring MVC AOP注解方式如何拦截controller 例子

    本文将详细介绍如何使用AspectJ注解在Spring MVC中实现AOP拦截Controller方法,并提供一个具体的例子。 首先,我们需要了解Spring AOP的基础概念。AOP允许我们定义“切面”,这些切面包含了业务逻辑中横切关注点的...

    Spring java注解,元注解和自定义注解

    ### Spring Java注解、元注解与自定义注解详解 #### 一、Java注解简介 在深入了解Spring框架中的注解应用之前,我们首先需要对Java注解有一个基本的认识。Java注解(Annotation)是一种元数据,可以为程序代码添加...

    44 Spring控制器Controller如何设置AOP?慕课专栏1

    在Spring框架中,AOP(面向切面编程)是一种强大的工具,允许开发者在不修改源代码的情况下添加额外的功能或监控代码,如日志、事务管理、权限检查等。然而,在实际项目开发中,有时可能会遇到Controller无法被AOP...

    spring4注解

    为了解决这一问题,Spring 4引入了更加灵活和简洁的注解配置方式。通过使用注解,开发者可以显著减少代码量,并能够更加直观地进行配置管理。 #### 二、Spring注解图示与分类 ##### 2.1 Spring-Context 模块的注解...

    解决springboot的aop切面不起作用问题(失效的排查)

    默认情况下,SpringBoot的EnableAspectJAutoProxy是true的,如果我们不确定,可以添加`@EnableAspectJAutoProxy`注解,以便确保AOP切面生效。 ```java @EnableAspectJAutoProxy(proxyTargetClass=true) @SpringBoot...

    SpringAOP禁止非法请求路径实例

    通过这种方式,Spring AOP可以帮助我们在不修改控制器代码的情况下,轻松地实现对非法请求路径的拦截和处理。这不仅提高了代码的可维护性,也使得安全策略可以集中管理和更新。记住,这只是一个基本的示例,实际应用...

    2-Spring注解1

    【Spring注解1】知识点详解 1. **Spring注解介绍** Spring框架自3.0版本开始,引入了注解配置,逐渐成为主流的配置方式,减轻了XML配置的负担,使得代码更加...结合AOP注解,还能实现更为灵活的代码组织和功能扩展。

    springboot 用aop打印web请求参数信息例子

    Spring AOP(面向切面编程)提供了一种优雅的方式来实现这一需求,它允许我们在不修改原有代码的情况下,插入额外的功能。本教程将通过一个具体的例子来介绍如何使用Spring AOP在Spring Boot中打印Web请求的参数信息...

    简单的SpringMVC加注解AOP,改变传进的值

    而AOP则是Spring框架的一个核心特性,它允许我们在不修改代码的情况下对程序进行横切关注点的处理,如日志、事务管理等。 首先,我们来看"简单的SpringMVC加注解"。在SpringMVC中,注解被用来简化配置,提高开发...

    spring3 struts2 Mybatis3 组件注解 事务注解 实例

    在Spring 3版本中,注解的引入极大地简化了配置,例如`@Autowired`用于自动装配bean,`@Component`、`@Service`、`@Repository`和`@Controller`用于定义不同类型的bean。此外,`@Transactional`注解用于声明式事务...

    25个经典的Spring面试问题包含答案

    AOP(Aspect-Oriented Programming)面向切面编程,是Spring用来实现横切关注点(如日志、事务管理)的一种方式。它将这些关注点与业务逻辑分离,提高了代码的可复用性和模块化。 5. **Spring的Bean是什么?** 在...

    spring知识点讲解

    2. 注解配置:随着Java 5的发布,Spring引入了注解配置,如@Service、@Repository、@Controller和@Autowired,使得配置更加简洁,降低了XML的使用。 3. Java配置:Spring 3.0引入了基于Java的配置,通过@...

    Spring的注解简单介绍

    3. **AOP注解**: - `@Aspect`:标记一个类作为切面。 - `@Before`、`@After`、`@AfterReturning`、`@AfterThrowing`、`@Around`:定义通知,分别表示前置通知、后置通知、后置返回通知、后置异常通知和环绕通知。...

    springdemo.zip

    3. **AOP注解** - `@Aspect`:定义一个切面,是AOP的核心注解。 - `@Before`、`@After`、`@AfterReturning`、`@AfterThrowing`和`@Around`:这些注解分别用于定义前置通知、后置通知、返回后通知、异常后通知和...

    详解在Spring-Boot中实现通用Auth认证的几种方式

    Spring Boot 中实现通用 Auth 认证的几种方式 在 Spring Boot 中实现通用 Auth 认证有多种方式,本文将介绍其中的几种常见的方式。 1. 使用 AOP 实现 Auth 认证 AOP(Aspect-Oriented Programming)是 Spring ...

    Spring xml 方式配制的小demo

    虽然本示例是XML配置,但Spring还支持基于注解的配置,如@Service、@Component、@Repository和@Controller,这些注解可以替代XML配置,简化代码。 9. **集成环境** 文件`.classpath`、`.mymetadata`、`.project`...

    spring_Annoation:学习Spring注解的笔记

    3. **AOP注解** - `@Aspect`:定义一个切面,是AOP的核心注解。 - `@Before`、`@After`、`@AfterReturning`、`@AfterThrowing`和`@Around`:定义通知(Advice),分别在目标方法执行前、后、正常返回、抛出异常...

    Spring MVC 学习笔记 十二 PDF/Excel格式输出

    在实际开发中,Spring MVC还与其他Spring模块,如Spring AOP(面向切面编程)、Spring Security(安全)、Spring Data(数据访问)等深度集成,以提供更全面的解决方案。 对于PDF和Excel格式的输出,Spring MVC可以...

    工作中用到的spring项目经验

    4. **AOP**:Spring的AOP模块支持在不修改源代码的情况下,插入额外的功能,如日志记录、事务管理等。切面是定义这些行为的代码单元,切入点则是这些行为生效的位置。 5. **Spring Boot**:为简化Spring应用程序的...

    spring+mybatis+spring-mvc+maven 项目框架.zip

    通过XML或注解方式配置和映射原始类型、接口和Java POJOs(Plain Old Java Objects,普通的Java对象)到数据库中的记录,大大简化了数据层复杂的操作。 三、Spring-MVC Spring-MVC是Spring框架的一部分,用于处理...

Global site tag (gtag.js) - Google Analytics