IOC和DI
IOC:反转资源获取的方向。容器主动地将资源推送给他所管理的组件,组件所要做的仅是选择一种合适的方式接受资源。
DI:组件以一些预先定义好的方式(例:setter方法)接受来自资源的注入。
IOC容器里配置Bean
- 在xml文件中通过bean节点来配置bean
- id:Bean的名称。
- 在IOC容器中必须是唯一的
- 若id没有指定,Spring自动将权限定性类名作为Bean的名字
- 读取bean配置创建bean实例之前,必须对它进行实例化。只有在容器实例化后,才可以从IOC容器里获取Bean实例并使用。
IOC容器实现:
BeanFactory:IOC容器的基本实现,BeanFactory接口实现类的容器,特点是每次在获得对 象时才会创建对象
ApplicationContext:BeanFactory的子接口,提供了更多的高级特性,几乎所有的应用场合都直接使用ApplicationContext而非底层的BeanFactory。
依赖注入
- 属性注入:通过 setter 方法注入Bean 的属性值或依赖的对象
- 构造器注入:通过构造方法注入Bean 的属性值或依赖的对象,它保证了 Bean 实例在实例化后就可以使用。