版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.youkuaiyun.com/lfdfhl
以Spring框架中Spring Core模块的核心功能总结。
一、核心功能
控制反转(IoC)容器
提供BeanFactory和ApplicationContext接口,负责对象的创建、配置与管理。通过IoC将对象的生命周期和依赖关系交由容器管理,实现解耦。
依赖注入(DI)
支持构造器注入、Setter注入、字段注入等方式,动态将依赖对象注入目标Bean,减少硬编码依赖。
二、Bean管理
Bean定义与配置
支持XML、注解(如@Component、@Autowired)或Java Config配置Bean的属性、作用域(Singleton/Prototype等)及初始化/销毁方法。
Bean生命周期管理
通过init-method、destroy-method或生命周期接口(如InitializingBean)控制Bean的初始化与销毁过程。
三、资源与事件处理
资源抽象
提供Resource接口统一访问类路径、文件系统、URL等资源,简化资源加载。
事件驱动模型
基于观察者模式,支持通过ApplicationEvent发布事件和ApplicationListener监听事件,实现模块间解耦。
四、企业级支持
国际化(i18n)
通过MessageSource接口支持多语言消息管理,适配不同地区需求。
JNDI集成
简化Java命名和目录接口(JNDI)的使用,便于访问外部资源(如数据库连接池)。
五、底层辅助能力
类型转换与数据绑定
提供PropertyEditor和Converter接口,实现字符串与对象类型的自动转换。
SpEL表达式语言
支持在运行时动态解析表达式(如#{…}),增强配置灵活性。
六、设计思想总结
-
轻量级与非侵入性:无需继承特定类或接口,对业务代码污染极低。
-
模块化与可扩展:作为Spring生态基础,其他模块(如AOP、DAO)均构建于Core之上。
-
解耦与可测试性:通过DI降低组件耦合度,便于单元测试和集成测试。