1.Spring概述
1.1什么是Spring
一个分层的JAVASE/EE full-stack(一站式)轻量级开源框架
1.2Spring框架优点
- 非入侵式设计
- 方便解耦,简化开发
- 支持AOP
- 支持声明式事务处理
- 方便程序测试
- 方便集成各种优秀框架
- 降低Java EE API的使用难度
1.3Spring的体系结构
采用分层架构,主要分为20个模块。
- Core Container(核心容器)
- Data Access /Integration(数据访问集成)
- Web
- 其他模块
1.4Spring的下载及目录结构
2.Spring的核心容器
Spring框架的主要功能是通过核心容器实现的。提供两种核心容器BeanFactory和ApplicationContext。
2.1BeanFactory
管理Bean的工厂,用来初始化各种Bean,并调用生命周期方法。创建实例时,接口,实现类,xml(Spring配置信息),测试类。实际开发中不常用。
2.2ApplicationContext
成为应用上下文,是BeanFactory的子接口。不仅包含了BeanFactory所有功能,还添加了对国际化,资源访问,事件传播等方面的支持。
创建接口实例方法:
1.通过ClassPathXmlApplicationContext创建(从类路径中找XML文件)
2.通过FileSystemXmlApplicationContext创建(从系统路径中找XML文件)默认绝对路径,不推荐使用。
创建容器后获取Bean实例的方法
1.Object getBean(String name)根据Bean 的id和name获取,获取之后需要强制类型转换。
2.<T> TgetBean(Class<T>requiredType)根据类的类型来获取Bean实例,为泛型方法,不需要强制类型转换。
3.Spring的入门程序
Spring IoC容器工作机制:
- Spring四个基础包和commons-logging的JAR复制到lib目录中。
- src创建包,创建接口,定义方法。
- 创建接口实现类
- src目录下创建Spring的配置文件applicationContext.xml
- 测试类创建。
4.依赖注入(DI)
4.1概念:
依赖注入(DI)和控制反转(IoC)的含义相同,从两个角度来描述同一概念。
简言之是通常调用者会“new被调用者”创建对象,IoC是Spring框架创建对象,不直接控制,称为控制反转。
DI,调用者对Spring容器的依赖,成为依赖注入。
4.2实现方式
- 一种是setter方法注入
- 构造方法注入