1. 实用于B/S和C/S,使用资源小
2. 对象间的关系松,高内聚,低耦合
IOC --- Inverse of control
l 使得业务组件都处在框架的管理之下
l 框架可以管理组件的创建和依赖关系
l 框架可以提供可以配置的服务
3. 通过AOP技术将业务与非业务分离
AOP --- Aspect Oreinted Programming
在不修改组件的前提下,为组件提供扩展的服务
4. Spring容器管理整个JavaBean生命周期
简化对java ee技术的使用
5. 与Hibernate、Struts一样是个框架
(类集合) (框架提供)
6. Spring是一个全方位的框架
SpringMVC 类似 Struts
7. Spring在开发中处于什么位置:
l 业务逻辑层 (Ioc *AoP) 最擅长的一层
l 表现层 (SpringMVC Web B/S都有)
l 数据持久层 (SpringDAO ORM)
8. 什么是IoC:
1) IOC --- Inverse of control (控制反转)
A主动创建B的实例:正向控制
以前:拉模型
l 组件决定自己依赖的对象的创建
l 接口没有在松散耦合中起到太大作用
IOC:推模型,也叫做依赖注入(Dependency in)
l 采用工厂模式管理应用组件的创建,管理组件的依赖关系
l 用接口表达组件间的依赖
依赖注入的方式
1)构造方法注入
2)set 方法注入
2) Spring IoC 容器先创建B的实例,再把B的实例注入A中
3) 执行过程:
a) 执行 BeanFactory 或 ApplicationContext 时,解析 xml 文件
b) 通过反射,执行 JavaBean 的空参构造方法,创建实例
c) 调用 JavaBean 的 set方法,将xml的信息注入到这 JavaBean实例
或者执行满参构造方法创建实例,同时注入 xml 的信息
9. spring 框架的7个组成部分
1) BeanFactory -- (低级容器,接口)使用工厂模式实例化组件,装配组件。
XmlBeanFactory(实现类)
2) ApplicationContext (高级容器,接口)--- bean factory 增加事件发布,增加了国际化,资源访问等的支持
ClassPathXmlApplicationContext(实现类)
3) AOP--提供一种基于声明方式的AOP
4) DAO支持--简化jdbc,声明的事务
5) ORM支持-- 简化使用 Hibernate ,toplink 等持久化框架,方便的事务管理
6) web 支持-- 在 web 应用中使用 spring 框架的相关支持,协调表现层和业务层的关系
7) Web MVC--- 独立的Web MVC框架
spring 是全方位的框架
spring 的组成部分相对独立,可选择的使用