1. BeanFactory fac=new ClassPathXmlApplicationContext("Spring-Config.xml");
2. Resource res=new Classpathresource("Spring-Config.xml");
BeanFactory fac=new XmlBeanFactory(res);
(我发现第二种类型只有我可以指定一个父配置文件来使用
3. ApplicationContext context = new ClassPathXmlApplicationContext("Spring-Config.xml");
我有3种加载beanfactory的方法,我想知道它们之间有什么区别。 如果可能的话,如何在所有这些方法中定义父配置文件?
最佳答案
ApplicationContext继承自BeanFactory接口(interface),因此它具有BeanFactory所具有的所有功能,并且还具有额外的功能,以下部分在Spring官网: MessageSource,提供对 i18n 风格的消息的访问。 访问资源,例如 URL 和文件。 事件传播到实现 ApplicationListener 接口(interface)的 bean。 加载多个(分层)上下文,允许每个上下文专注于一个特定层,例如应用程序的 Web 层。
正如你所说,有些代码使用BeanFactory,有些代码使用ApplicationContext,实际上没有什么不同,但是一件事,因为ApplicationContext的额外功能,它会更重,并且可以与事务和aop一起使用,用在容器环境中会很好,比如Tomcat等。 您可以在这里找到更多信息,尤其是第 3.8.1 节。 BeanFactory 还是 ApplicationContext?:http://static.springsource.org/spring/docs/2.5.x/reference/beans.html#context-introduction-ctx-vs-beanfactory
关于spring - 创建 beanfactory 对象有哪些不同的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15377371/