当前位置: 首页 > 知识库问答 >
问题:

异常org.springframework.beans.引起的异常,但我不知道为什么

陈宜修
2023-03-14

我是Spring的新人。我学习,但在学习过程中我出错了。我为Spring使用基于XML的配置,这里是编译错误:

线程“main”org . spring framework . beans . factory . beancreationexception中出现异常:创建在类路径资源[Beans.xml]中定义的名为“helloGeorgia”的bean时出错:设置属性值时出错;嵌套异常为org . spring framework . beans . notwritablepropertyexception:Bean类[com . tutorialspoint . hellogeorgia]的无效属性“werili”:Bean属性“wer Ili”不可写或具有无效的setter方法。setter的参数类型和getter的返回类型匹配吗?

但我不明白为什么.

下面是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"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="helloworld" class="com.tutorialspoint.HelloWorld">
        <property name="message" value = "Hello World" />
        <property name="werili" value = "Hello Hello" />
    </bean>


    <bean id="helloGeorgia" class="com.tutorialspoint.HelloGeorgia" 
             parent="helloworld">
        <property name="message" value="Hello Georgia" />
    </bean>
</beans>

以下是三个Java文件.java:

package com.tutorialspoint;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;



public class MainApp {
    public static void main(String[] args){
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");

        HelloWorld f = (HelloWorld) context.getBean("helloworld");
        System.out.println(f.getMessage());

        HelloGeorgia georgia = (HelloGeorgia) context.getBean("helloGeorgia");
        System.out.println(georgia.getMessage());

    }
}

HelloWorld.java

package com.tutorialspoint;


public class HelloWorld {
    private String message;
    private String werili;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getWerili() {
        return werili;
    }

    public void setWerili(String werili) {
        this.werili = werili;
    }
}

你好格鲁吉亚.java

package com.tutorialspoint;

public class HelloGeorgia {
    private String message;

    public String getMessage() {
        return message;

    }

    public void setMessage(String message) {
        this.message = message;
    }

}

请告诉我如何修理它。谢谢你。

共有1个答案

田修为
2023-03-14

查看您的Spring配置hello乔治亚预计是helloWorld bean的子级。在java类中,情况并非如此。要么您也应该在java中具有继承,要么至少;您应该在helloGeor中声明与getter/setter相同的字段。

 类似资料:
  • 我的程序从用户那里得到两个数字,一个长度为10,一个长度为3。我把它们当作一根绳子。然后我尝试使用Integer.parseInt()将它们转换为整数。我没有代码错误,但当我运行程序时,我得到以下错误。 异常线程"main"java.lang.NumberFormatExcture:对于输入字符串:"4159238189"在java.lang.NumberFormatException.forIn

  • 我的程序从用户那里得到2个数字,一个长度为10,一个长度为3。我把它们当成绳子。然后,我尝试使用integer.parseint()将它们转换为整数。我没有代码错误,但当我运行程序时,我得到以下错误。

  • 你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。 如何引发异常 例13.2 如何引发异常 #!/usr/bin/python # Filename: raising.py classShortInputException(Exception):     '''A u

  • 问题内容: 我有这个片段。 我知道Exception也在扩展Throwable,这也是一个检查异常,而MyException也在扩展Throwable,这也使得一个Checked异常! 我的问题是,为什么不要求在try catch中抛出异常,而MyException是异常?我认为两者都是检查异常,所以有什么区别? 很抱歉,问题很简单。 问题答案: Java语言规范中对此进行了解释(粗体强调): 如

  • 问题内容: 我编写了这段代码,将整个以10为底的数字转换为二进制。我相信代码就是它所需要的一切,但是我无法让ArrayLists正常工作。我已经在这个网站上花了几个小时,而其他人则尝试了无数次更改,但无济于事。我已经获得了可以在没有和错误的情况下进行编译的代码,但是一旦输入int程序就会崩溃。 这是代码: 这些是我输入数字时Java抛出的异常。 我希望这是足够的信息。 问题答案: 在您的代码中,您