BeanFactory:就像一个包含bean集合的工厂类,它会在客户端要求实时实例化bean。
ApplicationContext:接口扩展了BeanFactory接口,它在BeanFactory基础上提供了一些额外的功能。
BeanFactory:使用懒加载,使用语法显式提供资源对象,不支持国际化,不支持基于依赖的注解。
ApplicationContext:使用即时加载,自己创建和管理资源对象,支持国际化,支持基于依赖的注解。
IOC的一些好处是:
1.最小化应用程序中的代码量.
2.易于应用程序测试,因为它不应该单元测评用例中的任何单例或JNDI查找机制。
3.以最小的影响和最少的侵入机制促进松耦合。
4.支持即时的实例化和延迟加载服务。
IOC的实现机制:
spring中的ioc的实现原理就是工厂模式加反射机制。