2.Spring知识点
2.1目的:
解决企业应用开发的复杂性
理念:是现有的技术更加容易地使用,本身是一个大杂烩,整合了现有技术的框架
2.2创始人:
Rod Johnson
框架的雏形
前身:2002年。推出interface21
Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版
SSH:Struct2+Spring+Hibernate
SSM:SpringMVC+Spring+Mybatis
2.3优点:
Spring是一个免费的、开源的框架(容器)
Spring是一个轻量级的、非入侵式的框架!
**控制反转(**IOC)、面向切面编程(AOP)(面试)
支持事务的处理,对框架整合的支持
2.4总结:
Spring是一个轻量级的控制反转(IOC)、面向切面(AOP)编程的框架
2.5组成
前面介绍导入依赖的时候导入webmvc的jar包就包括了下面这些,不然还要一个一个导入,非常麻烦
2.6扩展
- Spring Boot
- 一个快速开发的脚手架
- 基于SpringBoot可以快速的开发单个服务
- 约定大于配置
- Spring Cloud
- SpringCloud是基于SpringBoot实现的
现在大多数公司都是使用SpringBoot
使用SpringBoot的前提,需要完全掌握Spring及SpringMVC!
3.IOC理论推导
假设有几个数据库mysql,Oracle…,用户需要访问不同的数据库的数据,原来我们的做法是,从服务层直接new一个对象的数据库实现类,传给用户,用户需要什么我们new什么,这样子需要改变我们的源码。另一种方法是使用set接口实现,
private UserDao userDao;
//利用set进行动态实现值注入
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
- 之前,程序是主动创建对象,控制权在程序员手上
- 使用set注入后,程序不在具有主动性,而是被动的接收对象
这样,系统的耦合性大大的降低了。IOC原型
4.动态创建对象
要实现不同的操作,不需要再去修改源码,只需要修改配置文件,配置文件是一个很灵活的东西。