关于spring的BeanFactory在使用注解的注解事项

今天在学习spring的时候,初始化BeanFactory的方法是:

BeanFactory bf=new XmlBeanFactory(new ClassPathResource("bean.xml"));

然后使用bf来初始化带有注解的bean,发现注解无法正常读取。例子如下:

	public static void main(String[] args) {
		BeanFactory bf=new XmlBeanFactory(new ClassPathResource("bean.xml"));
		//BeanFactory bf=new ClassPathXmlApplicationContext("bean.xml");
		TestAnnotation ann=(TestAnnotation)bf.getBean("annotation");//注解方式实例化App
		System.out.println(ann.getApp());
	}
TestAnnotation:

public class TestAnnotation {
	
	@Resource(name="app")
	private App app;

	public App getApp() {
		return app;
	}

	public void setApp(App app) {
		this.app = app;
	}
}


bean.xml:




经过查找所有环境搭建都是正确的,最后发现使用new XmlBeanFactory(new ClassPathResource("bean.xml"));实例化出来的对象是
无法读取spring注解配置文件的,因此修改成
new ClassPathXmlApplicationContext("bean.xml");就成功了。



你可能感兴趣的:(spring)