java - Spring框架bean错误

标签 java xml eclipse spring javabeans

我正在尝试用java学习Spring。当我运行第一个程序时,我陷入了困境。 我正在尝试调用 draw Triangle 类的方法。 但我看到很多错误。

DrawingApp.java Eclipse 类显示一些警告 - ( The type XmlBeanFactory is deprecated )。

我将提供我的实现以及下面的错误。

三角形.java

package org.hemant.spring;

public class Triangle {

public void draw(){
    System.out.println("Triangle drawn");   
 }
}

DrawingApp.java

package org.hemant.spring;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

public class DrawingApp {

 /**
 * @param args
 */
 public static void main(String[] args) {

    BeanFactory factory = new XmlBeanFactory(new   FileSystemResource("spring.xml"));

    Triangle triangle = (Triangle)factory.getBean("Triangle.class");
    triangle.draw();
    }

}

spring.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE bean PUBLIC "-//SPRING//DTD BEAN 2.0//EN"     "http://www.springframework.org/dtd/spring-bean-2.0.dtd">

<bean>
  <bean id="triangle" class="org.hemant.spring.Triangle"/>
</bean>

错误

     Apr 16, 2016 12:33:45 PM     org.springframework.beans.factory.xml.XmlBeanDefinitionReader    loadBeanDefinitions
    INFO: Loading XML bean definitions from file  [C:\Users\hemant001\workspace_mars_eclipse\spring tutorial\spring.xml]
Exception in thread "main"   org.springframework.beans.factory.BeanDefinitionStoreException: IOException  parsing XML document from file [C:\Users\hemant001\workspace_mars_eclipse\spring  tutorial\spring.xml]; nested exception is java.io.FileNotFoundException:  http://www.springframework.org/dtd/spring-bean-2.0.dtd
at  org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefiniti ons(XmlBeanDefinitionReader.java:408)
at  org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init> (XmlBeanFactory.java:78)
at org.springframework.beans.factory.xml.XmlBeanFactory.<init> (XmlBeanFactory.java:66)
at org.hemant.spring.DrawingApp.main(DrawingApp.java:17)
    Caused by: java.io.FileNotFoundException: http://www.springframework.org/dtd/spring-bean-2.0.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
... 5 more

最佳答案

您应该将 http://www.springframework.org/dtd/spring-bean-2.0.dtd 替换为 http://www.springframework.org/dtd/spring- beans-2.0.dtd(注意 spring.xml 中的 bean,而不是 bean)。

关于java - Spring框架bean错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36661210/

相关文章:

java - 匿名类方法参数如何返回到原来的实例化类?

java - 这个程序的运行时复杂度是多少?(尤其是 retainAll() 方法)

xml - (Android) 如何找到 xml 文件中的所有 ImageView?

eclipse - 如何在 Eclipse 中激活 CoffeeScript 的语法高亮?

java - 如何从 eclipse 调试 hadoop mapreduce 作业?

Java XSLT 转换器异常 : Could not find function: exists

java - 如何在 Sonar 中查看所有被忽略的测试?

javascript - 无法在 jQuery XML 对象中插入元素

java - 加载 xml 应用程序上下文 ioException spring

java - 如何获取Vaadin资源路径的URL?