Spring概述
Spring :是解决企业开发的复杂问题
系统开发分为两种
- 主业务逻辑
(银行业务、保险业务、物流业务、电商业务等)
- 系统级开发逻辑,交叉业务逻辑
JDBC连接数据库(username、password、url、driverClass)
1.加载驱动
2.创建连接
3.对SQL预编译
4.执行SQL语句
5.遍历结果集
6.释放资源
Spring特点
- 非入侵式:无需继承框架提供的类
- 容器:管理对象的生命周期、对象之间的依赖。
Spring核心
(IoC控制反转、AOP面向切面编程)
IoC (Inversion of Control)控制反转,调用者实例不再由调用者完成,交予Spring容器完成。
传统方式 : Student student = new Student(); //硬编码
IoC方式:Student student = Spring 容器生产;
AOP (Aspect Orient Programming)面向切面编程,是OOP面向对象编程的一种扩展,将业务逻辑(日志、安全、事务管理等服务)想象成一个“切面”,需要时候再复用,将“切面”动态“织入”业务逻辑中,让业务逻辑享受“切面”服务
以前把服务都写在业务逻辑代码中,这样不好2点:
- 首先业务逻辑不纯净;
- 其次这些服务被很多业务逻辑反复使用,完全可以剥离出来做到复用。
Spring体系
依赖注入
依赖注入是目前最优秀的解耦方式。 依赖注入让 Spring 的 Bean 之间以配置文件的方式组织在一起,而不是以硬编码的方式耦合在一起的。
核心API
- BeanFactory:延迟加载,在第一次getBean 初始化
- ApplicationContext:是BeanFactroy的子接口,底下有
ClassPathXml
ApplicationContext:加载ClassPath(类路径、src)的xml
FileSystemXml
ApplicationContext:加指定载盘(C、D)符下的xml
XmlWeb
ApplicationContext:加载web应用下的xml