Description
Manuel Jordan opened SPR-14753 and commented
Hello
According with the following:
Why the class annotated with @EnableAspectJAutoProxy
and scanned through RootApplicationContext
is practically ignored by ServletApplicationContext
?
Exists two possible solutions:
- the class annotated with
@EnableAspectJAutoProxy
should be scanned throughServletApplicationContext
instead - the class annotated with
@EnableAspectJAutoProxy
should be scanned twice, byRootApplicationContext
andServletApplicationContext
I think each approach has a drawback
Furthermore from the current answer:
Seems that BeanFactoryPostProcessor (which is
@EnableAspectJAutoProxy
in your case) from parent context not applied to child contexts. To make it work in production you must explicitly define@EnableAspectJAutoProxy
in child context too
If that is true is it a bug or is the expected behaviour?
Your explanation about this situation with the solution (extra configuration if exists) should be added in the Spring Framework Reference Documentation, it for the rest of the community.
I think here we have a situation about Best Practices
Thanks by your understanding.
Affects: 4.3 GA
Reference URL: http://stackoverflow.com/questions/39694633/spring-mvc-and-aop-pointcuts-for-controllers-only-works-in-testing-and-not-fo
Issue Links:
- Doc: Spring AOP dependency on aspectjweaver [SPR-15801] #20356 Doc: Spring AOP dependency on aspectjweaver
- Spring MVC: @EnableScheduling needs to be redeclared for each application context [SPR-16852] #21392 Spring MVC:
@EnableScheduling
needs to be redeclared for each application context
Referenced from: commits 0e734d8, 13c2134
Backported to: 4.3.15