这些天我正在学习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>
答案 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