修复XmlBeanFactory不推荐使用的错误Spring

时间:2016-07-26 16:44:08

标签: java spring javabeans deprecated

这些天我正在学习Spring Framework。我正在关注一些YouTube视频。 根据视频,我在Spring中编写了我的第一个代码,与教程相同。但是在某一点上,我得到了不推荐使用的XmlBeanFactory警告。

我在MyPackage包上有两个课程。

package MyPackage;

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

public class DrawingApp {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    BeanFactory factory=new XmlBeanFactory(new FileSystemResource("Spring.xml"));
    Triangle triangle =(Triangle) factory.getBean("triangle");

    triangle.draw();
}

}

这里我的XmlBeanFactory已弃用。我检查到处都无法解决它

这是我的Triangle课程。

package MyPackage;

public class Triangle {

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

这是我的xml文件“spring.xml”

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

<beans>
<bean id="triangle" class="MyPackage.Triangle"></bean>
</beans>

4 个答案:

答案 0 :(得分:1)

由于不推荐使用XmlBeanFact,您可以使用FileSystemXmlApplicationContext

public static void main(String[] args) {
    ApplicationContext factory = new FileSystemXmlApplicationContext("spring.xml");
    Triangle trianle=(Triangle)factory.getBean("triangle");
    trianle.draw();
}

答案 1 :(得分:0)

由于不推荐使用XmlBeanFactory,您可以使用以下代码段。

{{1}}

}

注意:确保添加&#34; spring.xml&#34;在构建路径中。

答案 2 :(得分:0)

由于XmlBeanFactory已被弃用,您可以使用ClassPathXmlApplicationContext

    public static void main(String[] args) {
        ApplicationContext context=new ClassPathXmlApplicationContext("spring.xml");
        Triangle trianle=(Triangle)context.getBean("triangle");
        trianle.draw();

    }

答案 3 :(得分:0)

由于XmlBeanFactory已弃用,因此可以使用ClassPathXmlApplicationContext作为替代。 ApplicationContext是BeanFactory的子接口。另外,请确保spring.xml位于类路径(在src文件夹下)。

    ApplicationContext appContext = new ClassPathXmlApplicationContext("spring.xml");
    // ApplicationContext appContext = new FileSystemXmlApplicationContext("spring.xml");
    Triangle triangle = (Triangle) appContext.getBean("triangle");
    triangle.draw();

有关更多说明,您可以选中https://docs.spring.io/spring/docs/2.5.x/reference/beans.html#context-introduction-ctx-vs-beanfactory