BeanFactory 是 spring 中较为原始的 Factory,无法支持 spring 的许多插件,如 AOP 功能、
    Web 应用等。
    ApplicationContext 接口是通过 BeanFactory 接口派生而来的,除了具备 BeanFactory 接口的
    功能外,还具备资源访问、事件传播、国际化消息访问等功能。
    总体区别如下:
    1)使用 ApplicationContext,配置 bean 默认配置是 singleton,无论是否使用,都会被实例化。
    优点是预先加载,缺点是浪费内存;
    2)使用 BeanFactory 实例化对象时,配置的 bean 等到使用的时候才会被实例化。优点是节
    约内存,缺点是速度比较慢,多用于移动设备的开发;
    3)没有特殊要求的情况下,应该使用 ApplicationContext 完成,ApplicationContext 可以实现
    BeanFactory 所有可实现的功能,还具备其他更多的功能。