Spring基础概念
§ 初始Spring
Spring发展到今天已经形成一种开发生态圈,提供了若干个项目,每个项目用于完成特定的功能
- Spring FrameWork: Spring底层框架,其他spring框架依赖他
- Spring Boot: 简化开发,提高效率
- Spring Cloud: 分布式开发
§ Spring系统架构
- Core Container: 最核心部分,管理对象
- AOP && Aspects
- AOP: 面向切面编程
- Aspects: AOP思想的实现
- Data Access/Integration:数据访问和集成
- Web: Web开发
- Test: 单元测试和集成测试
§ 核心概念
public class BookDaoImpl implements BookDao {
public void save() {
System.out.println("book dao save");
}
}
public class BookServiceImpl implements BookService {
private BookDao bookDao;
public void save() {
bookDao.save();
}
}
service和dao都在IoC容器里
IoC控制反转
Q:耦合度偏高
private IC c = new C1(); /*要改成C2,就要把每一处new改变*/
A:使用对象时不要主动new产生对象,转为由外部提供对象。
/*只需要声明*/ private IC c;
Ioc(Inversion of Control) 控制反转:对象的创建由程序转移到外部,这种思想称为控制反转
Spring
对IOC
的实现:
- Spring提供了一个容器,称为IOC容器,用来充当IOC思想中的
外部
- IoC容器负责对象的创建、初始化一系列工作,被创建或管理的对象在Ioc容器中称为Bean
依赖注入
DI(Dependency Injection) 依赖注入:在容器中建立bean与bean之间的依赖关系的整个过程
目标
充分解耦
- 使用Ioc容器管理bean(IoC)
- 在Ioc容器内将有依赖关系的bean进行绑定(DI)