This question already has answers here:
BeanFactory vs ApplicationContext

(20 个回答)


7年前关闭。




两者实际上都是 ioc 容器。但它们之间的实际区别是什么?哪个更好用?

最佳答案

ApplicationContext 派生自 BeanFactory 以提供在 Web 应用程序中工作的附加功能。

您只需编写即可实例化您的 spring 容器

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

或者
ApplicationContext context = new ClassPathXmlApplicationContext{"spring_dao.xml","spring_service.xml};

您可以根据项目要求使用一个或多个 xml 文件。因为我在这里使用两个 xml 文件,即一个用于服务类的配置详细信息,另一个用于 dao 类。这里 ClassPathXmlApplicationContext 是 ApplicationContext 的 child 。

为了更好地理解差异,您可以查看 http://docs.spring.io/spring/docs/2.5.x/reference/beans.html#context-introduction-ctx-vs-beanfactory 站点。

在 BeanFactory 和 ApplicationContext 之间进行选择还取决于您希望如何加载 bean。

ApplicationContext 是首选,除非您需要节省资源,例如在移动应用程序上。

关于spring - BeanFactory 和 ApplicationContext 的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21985910/

10-13 06:04