spring
spring 是一个轻量级的 IoC 和 AOP 容器框架,用于简化应用程序的开发,对主流技术和框架支持得很好
spring 的好处
1. 依赖注入(控制反转) 将对象之间的依赖关系交由框架处理,解耦
2. AOP 把系统级功能从业务逻辑中抽出来,进行内聚性开发
3. 非侵入式框架,对代码污染很小
4. 对主流的应用框架提供了集成支持
IOC 控制反转 / DI 依赖注入
在 Spring 创建 Bean 对象时,动态的将依赖对象注入到 Bean 对象中, 不需要自己创建或查找依赖对象
工厂模式,反射原理
Spring 核心组件
Core 组件
定义资源的访问方式
Resource / ClassPathResource / FileSystemResource / BeanDefinitionResource
Bean 组件
把 Bean 的配置解析成 BeanDefinition,通过 BeanFactory 创建管理 Bean
Context 组件
ApplicationContext 整合了 spring 的大部分功能,包括 BeanFactory 的所有功能
Spring IoC 容器是什么
负责创建对象,装配对象,管理对象的容器
Spring bean 生命周期
实例化 --> 设置属性值 --> 处理 Aware 接口
BeanNameAware, BeanFactoryAware, ApplicationContextAware
--> 自定义初始化方法
@Bean 配置的 init-method
实现了 InitializingBean 接口的 afterPropertiesSet 方法