好吧,我已经通过XML文件成功完成了AOP,但我正在努力使用AspectJ。出于某种原因,我无法使其正常工作。我看过网上,我发现的任何东西似乎都不起作用,不知道为什么。
这是我的代码
AspectJ.java:
@Aspect
public class AspectJ {
@Before("execution(* com.ibm..AnimalBean.*(..) )" )
public void logBefore(JoinPoint joinpoint) throws Throwable {
System.out.println("AspectJ - Before " +
joinpoint.getSignature().getName() );
}
}
TestClass(.java。): 公共类TestClass { AnimalBean testBean;
@Autowired
public void setTestBean(AnimalBean testBean) {
this.testBean = testBean;
}
public void runTestClass(int id, String animal) {
ApplicationContext jdbcContext = new
ClassPathXmlApplicationContext("jdbcContext.xml");
AnimalDaoImpl animalDao = (AnimalDaoImpl)
jdbcContext.getBean("animalDaoImpl");
testBean.setId(id);
testBean.setTestAnimal(animal);
System.out.println("setBean - id: "+testBean.getId()+" animal:
"+testBean.getTestAnimal());
animalDao.createRow(testBean);
testBean = new AnimalBean();
this.testBean = animalDao.retrieveRow(testBean, 2);
System.out.println("getBean - id: "+testBean.getId()+" animal:
"+testBean.getTestAnimal());
}
}
appContext.xml:
<aop:aspectj-autoproxy />`
<bean id="myAnimalBean" class="com.ztp.spring.injection.AnimalBean" />
<bean id="myAnimalBean" class="com.ztp.spring.injection.AnimalBean" /> <-- error
<bean id="myTestClass" class="com.ztp.spring.injection.TestClass"> <--error
<property name="testBean" ref="myAnimalBean" />
</bean>
<bean id="myAspectJ" class="com.ibm.spring.aspect.AspectJ" />
***出现错误,显示“构建路径不完整。无法找到org / aspectj / weaver / reflect / ReflectionWorld $ ReflectionWorldException的类文件”
我还有三个方面的jar文件; aspectjrt-1.5.4.java,aspectjtools-1.6.1.java,aspectjweaver-1.7.0.java。
我错过了一些明显的东西吗?或者它是不是那么明显的东西?如果之前已经回答过这个问题,请通知我,我很乐意最终解决这个问题。
提前致谢。
编辑: 我忘了提及,我在“Cannot find org.aspectj.weaver.reflect.ReflectionWorld”看到了帖子,他们从分发“http://dist.spring
中安装了AspectJ所以我想问题是,如何安装AspectJ?如果您愿意,请回答我的问题。
解决!!!!: 我解决了这个问题,我将在这里回答,所以这篇文章可以帮助那些像我一样迷失的人。 安装Eclipse软件时,请输入地址“http://download.eclipse.org/tools/ajdt/35/update”,它是AspectJ的所有代码。