I'm trying to weave in code before the call of start();
Это - TestClass, который я хочу к совету:
package com.test;
public class TestClass {
public static void main(String[] args) {
new TestClass().start();
}
private void start() {
System.out.println("Test started");
}
}
Это - аспект включая совет:
package com.test;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogAspect {
@Before("call(void com.test.TestClass.start())")
public void logBefore(JoinPoint joinPoint) {
System.out.println("logBefore() is running");
}
}
Это - мой spring.xml:
Я также попытался назвать бобы явно в xml как это:
Это - моя установка проекта (я использую Весеннюю версию 3.1.0 Комплекта инструментов):

Результат состоит в том, что TestClass.start называют очень хорошо, но совет не применяется.
Что я должен изменить так, совет применяется?
Спасибо.
Edit: I finally got it to work:
После редактирования моего кода согласно вашим предложениям я взглянул на это обучающая программа. Это принудило меня позволять своему TestClass орудие интерфейс . И это решило проблему.
Вот моя заключительная установка:

TestClass включая его интерфейс:
package com.test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
interface TestClass {
void start();
}
public class TestClassImpl implements TestClass {
public static void main(String[] args) {
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
"Spring-Config.xml");
TestClass t1 = (TestClass) appContext.getBean("myTest");
t1.start();
}
@Override
public void start() {
System.out.println("test");
}
}
Аспект:
package com.test;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class LogAspect {
@Before("execution(void com.test.TestClass.start(..))")
public void logBefore(JoinPoint joinPoint) {
System.out.println("logging before "
+ joinPoint.getSignature().getName());
}
}
И весна-Config.xml
Спасибо за вашу помощь.