У меня была такая же проблема, когда работал совет для Repository, но совет для Controller не был.Наконец я нашел решение.Короче говоря, вам нужно убедиться, что ваше определение AOP загружено в контексте сервлета, а не в другом контексте.
В моем случае мое определение Spring AOP определено в tools-config.xml
.Переместив его отсюда
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/tools-config.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
сюда,
<servlet>
<servlet-name>petclinic</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/mvc-core-config.xml, classpath:spring/tools-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
, совет для контроллера работает.