大家好,又见面了,我是你们的朋友全栈君。
Spring 简介
Spring 是一个开源轻量级企业应用架构,目的是为了简化企业级应用开发。(1)Spring 框架可以帮我们管理对象的生命周期,帮助我们管理对象间的依赖关系,相互协作;(2)Spring 框架提供了一种能力,帮助抽离日志,异常处理,性能统计,安全性以及数据库事务管理等,这些均可以与业务模块分离, 这些得益于Spring面向切面的特性。
Spring 特点
- 轻量: api简单,很少配置
- Bean: 专注于写业务的简单java类
- 松耦合: AOP,容器,DI等
- 万能胶: 方便与其他框架整合
- 设计模式: 经典设计模式
Spring 核心特性
- DI
- AOP
Spring 初衷和使命
简化开发 (这点很重要)
容器
容器通过DI管理Spring应用的对象. 管理对象的创建,依赖关系,配置和组装. Spring中的容器有多种, 大致可以分为BeanFactory工厂类和ApplicationContext应用上下文两大类. BeanFactory 提供了基本的DI支持, ApplicationContext基于BeanFactory构建, 提供应用框架级别的服务.
Bean的生命周期
- bean实例化
- bean注入属性
- 调用BeanNameAware.setBeanName()
- 调用BeanFactoryAware.setBeanFactory()方法
- 调用ApplicatioonContextAware.setApplicationContext()方法
- 调用BeanPostProcessor.postProcessBeforeInitializaion()方法
- 调用InitializingBean.afterPropertiesSet()方法,如果使用init-method声明了初始化方法,则也会调用初始化方法
- 调用BeanPostProcessor.postProcessAfterInitialization()方法
- bean就绪,存在上下文中
- 调用DisposableBean.destroy()方法, 如果destroy-method方法被声明, 也同时调用
AOP
AOP 使用场景
- Authentication 权限认证
- Logging 日志
- Transaction 事务
- Lazy Loading 懒加载
- Context Process 上下文处理
- Error Handler 错误跟踪
- Cache 缓存
体系结构
- 核心容器: Spring最核心的部分, 除了提供应用程序上下文,还提供了许多企业服务(邮件,JNDI,EJB集成);
- AOP;
- 数据访问和集成: jdbc(模板方法),orm,transaction,jms(java message service),oxm(Object-to-XML-Mapping);
- Web与远程调用: MVC
- Instrument : 为tomcat提供织入代理功能, 用的比较少
- Test
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107328.html原文链接:https://javaforall.cn