я работаю с JSF 2.2 + Spring Framework 3.2.4Spring AOP Pointcut не называется
Итак, у меня есть этот applicationContent.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<aop:aspectj-autoproxy proxy-target-class="true" />
<tx:annotation-driven transaction-manager="transactionManager"/>
<context:annotation-config/>
<context:component-scan base-package="com.vulcan.controller" />
<context:component-scan base-package="com.vulcan.service" />
<context:component-scan base-package="com.vulcan.dao" />
<context:component-scan base-package="com.vulcan.spring.aop" />
.....
Тогда я есть аспект компонента в
package com.vulcan.spring.aop;
@Aspect
public class LoggingService {
private Log log = LogFactory.getLog(this.getClass());
@Pointcut("execution(* *.*(..))")
protected void loggingOperation() {}
@Before("loggingOperation()")
public void logJoinPoint()
{
System.out.println ("Hello");
}
....
С этим типом выполнения я предполагаю, что этот pointcut будет срабатывать при каждом методе. Но проблема в том, что этот pointcut не срабатывает? Любая идея почему? Спасибо
FYI, я использую glassfish 4, и когда я развертываю свое веб-приложение, я не получил никакой конфигурации ошибок. Поэтому я предполагаю, что моя конфигурация в порядке.
Spring AOP только советует публичные методы. Ваш совет, по крайней мере, вызван для этих людей или вообще не существует? – sheltem
Я уже пробовал публичный метод e.x в loginController с (@Controller аннотированный). Я пытаюсь вызвать открытый метод doLogin() {return string} через jsf-страницу, и он по-прежнему не имеет ответа –
Небольшой комментарий к вашей конфигурации xml ' ' уже подразумевается использованием ' '. Атрибут 'base-package' компонента-scan может содержать список сканируемых разделов, разделенных запятыми, поэтому вместо 4 элементов использовать один и помещать список пакетов, разделенных запятыми. Сохраняет вам несколько xml. –