- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 Eclipse 和 Java8_40。我从带有 AOP 的 Spring 框架开始(来自 http://www.tutorialspoint.com/spring/aop_with_spring.htm ),并且 Beans.xml(?) 遇到一些问题。我认为我创建的示例是正确的,但它崩溃并显示异常。
我在 CLASSPATH 中有:Apache *.jars
Spring *.jars
AOP *.jar
程序客户端
package spring.program;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import spring.aop.trida.Student;
public class ProgramAOP1 {
@SuppressWarnings("resource")
public static void main(String [] args){
System.out.println("Start Programu");
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
Student student = (Student) context.getBean("student");
student.getName();
student.getAge();
System.out.println("Konec Programu"); }
}
Spring Bean AOP 类:
package spring.beanAOP;
public class BeanAOP {
public void beforeAdvice(){
System.out.println("Going to setup student profile."); }
public void afterAdvice(){
System.out.println("Student profile has been setup."); }
public void afterReturningAdvice(Object retVal){
System.out.println("Returning:" + retVal.toString() ); }
public void AfterThrowingAdvice(IllegalArgumentException ex){
System.out.println("There has been an exception: " + ex.toString()); }
}
POJO 类:
package spring.aop.trida;
public class Student {
private Integer age;
private String name;
public void setAge(Integer age) {
this.age = age; }
public Integer getAge() {
System.out.println("Age : " + age );
return age; }
public void setName(String name) {
this.name = name; }
public String getName() {
System.out.println("Name : " + name );
return name; }
public void printThrowException(){
System.out.println("Exception raised");
throw new IllegalArgumentException(); }
}
Bean.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd ">
<aop:config>
<aop:aspect id="log" ref="beanAOP">
<aop:pointcut id="selectAll" expression="execution(* com.tutorialspoint.*.*(..))"/>
<aop:before pointcut-ref="selectAll" method="beforeAdvice"/>
<aop:after pointcut-ref="selectAll" method="afterAdvice"/>
<aop:after-returning pointcut-ref="selectAll" returning="retVal" method="afterReturningAdvice"/>
<aop:after-throwing pointcut-ref="selectAll" throwing="ex" method="AfterThrowingAdvice"/>
</aop:aspect>
</aop:config>
<!-- Definition for student bean -->
<bean id="student" class="spring.aop.trida.Student">
<property name="name" value="Zara" />
<property name="age" value="11"/>
</bean>
<!-- Definition for logging aspect -->
<bean id="beanAOP" class="spring.beanAOP.BeanAOP"/>
</beans>
异常:
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [Beans.xml]; nested exception is java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83) at spring.program.ProgramAOP1.main(ProgramAOP1.java:17) Caused by: java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.springframework.aop.config.ConfigBeanDefinitionParser.getAdviceClass(ConfigBeanDefinitionParser.java:411) at org.springframework.aop.config.ConfigBeanDefinitionParser.createAdviceDefinition(ConfigBeanDefinitionParser.java:367) at org.springframework.aop.config.ConfigBeanDefinitionParser.parseAdvice(ConfigBeanDefinitionParser.java:333) at org.springframework.aop.config.ConfigBeanDefinitionParser.parseAspect(ConfigBeanDefinitionParser.java:228) at org.springframework.aop.config.ConfigBeanDefinitionParser.parse(ConfigBeanDefinitionParser.java:116) at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:174) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392) ... 14 more
最佳答案
您错过了包含以下类的 aopalliance jar:
org.aopalliance.aop.Advice.class
org.aopalliance.aop.AspectException.class
org.aopalliance.intercept.ConstructorInterceptor.class
org.aopalliance.intercept.ConstructorInvocation.class
org.aopalliance.intercept.Interceptor.class
org.aopalliance.intercept.Invocation.class
org.aopalliance.intercept.Joinpoint.class
org.aopalliance.intercept.MethodInterceptor.class
org.aopalliance.intercept.MethodInvocation.class
可以找到here .
关于java - Spring AOP - 异常 : org. springframework.beans.factory.BeanDefinitionStoreException:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29211099/
我是 Spring 框架的新手,我正在关注这个 https://www.tutorialspoint.com/spring/spring_mvc_form_handling_example.htm教程
谁能告诉我如何解决这个问题? 我已将问题范围缩小到 pom.xml 文件。我的项目有效,但是当我添加以下依赖项时出现错误 org.springframework.data
我创建了一个扩展抽象类 AbstractScheduledService 的类. @Service public class MyClass extends AbstractScheduledServ
我正在努力完成 Spring MVC 教程: http://static.springsource.org/docs/Spring-MVC-step-by-step/part1.html 我的问题与这
当我尝试运行使用BeanDefinitionStoreException和Spring构建的Web应用程序时,遇到了gradle。 org.springframework.beans.factory.
我知道类似的问题问了很多次,但我不明白出了什么问题。帮我解决这个问题。我尝试使用 SpringMVC 运行我的应用程序,但我得到: 11-Aug-2017 13:06:29.471 SEVERE [R
我在启动 Spring MVC 应用程序时遇到另一个错误。这一切都是在我将其转换为 Maven 应用程序时开始的,但我不认为 Maven 与该问题有任何关系。我在 Tomcat 8.0.30 中看到了
更新 我使用了描述的方法here从“classpath:”和“classpath*:”打印出生成的 java 类路径并得到以下结果,但我仍然从 PPC 中获取 jms.properties 文件中定义
我正在尝试通过运行使用 maven 创建的 jar 来执行我的 springboot 应用程序,并遇到异常,经过多次尝试后仍未解决。任何帮助或指针将不胜感激。 提前致谢。 请在下面找到异常跟踪。 2
自从尝试从 xml config 切换到 javaconfig 后,我遇到了一些配置问题。 这是有问题的配置类: @Configuration @EnableTransactionManagement
我有一个基于 J2EE 的 Web 应用程序,它完美地部署在 JBoss 6.0 应用服务器上。 我正在使用 JBoss 的“默认”服务器配置。 我的“.ear”文件包含 EJB 和“.war”文件
我需要在 heroku 上上传现有的 tomcat 应用程序 - 我在部署时遇到错误已经尝试过官方 heroku 教程异常: 2018-06-04T09:54:41.843218+00:00
我有一个grails 2.2.4应用程序,可以正常运行。但是,当我尝试将spring-security-ui插件集成到应用程序中时,它没有启动。我将以下内容添加到了BuilConfig.groovy
我在 spring 做一个示例项目时出现了一些错误..错误是这样的...Test.java, applicationContext.java,Student.java 这些文件在 src 文件夹中..
这个问题已经有答案了: Spring: nested exception is java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice (
我有一个运行良好的应用程序(当我在 Eclipse IDE 中启动它时),但是当我尝试通过这种方式像独立 jar 一样启动它时: java -jar -Duser.language=en -Duser
我正在尝试创建我的第一个 Spring 应用程序。它显示以下错误: log4j:WARN No appenders could be found for logger (org.springframe
我正在创建一个 spring mvc 项目,从启动并收到此错误: org.springframework.beans.factory.BeanDefinitionStoreException: Fai
我尝试了新版本的spring framework 4.0.3,发现在使用context:component-scan标签的过程中有一个奇怪的行为。 我已经尝试切断 context:component-
我是 spring mvc 3 和 hibernate 3 的新手。我需要对以下问题进行一些说明。我被这个问题锁定了,所以我无法继续下一步。 这是我的dispatch-servlet.xml
我是一名优秀的程序员,十分优秀!