一、Srping介绍
1、什么是Spring?
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
1.2、Spring框架特点:
1.2.1一站式:
针对JavaEE三层架构,Spring分别提供了解决方案;
Web层:SpringMVC
Sservice层:IOC
DAO层:SpringTemplate
Spirng也提供了和其他开源框架的整合,如:Strus2、Hibernate、MyBatis等
1.2.2轻量级:
轻量级框架是相对于重量级框架的一种设计模式:轻量级框架不带有侵略性API,对容器也没有依赖性,易于进行配置,易于通用,启动时间较短。
性能开销:
Spring框架在系统初始化的时候不用加载所有的服务,为系统节约了资源。Spring框架核心jar包1M左右,加载核心资源性能开销小,也是轻量级体现之一;
非侵入式:
编写一些业务类的时候不需要继承spring特定的类,不依赖Spring的API,通过配置文件配置即可使用。Spring不会侵入到程序员编写的里面,没有太多的依赖,可以方便完成代码迁移。提升了解耦性、可扩展性、可维护性;
1.2.3 DI/IOC:
DI:依赖注入( dependencyinjection )
对象之间的依赖关系注入到Spring容器,注入参数等;
IOC:控制反转( Inversion of Control )
对象创建过程不再是自己new,对象由Spring容器创建;
Spring容器离不开DI和IOC,DI没有单独存在的意义,因为DI要完成注入必须先有对象存在才能注入对象参数值,也就是依赖注入需要依赖于控制反转基础上完成;
1.2.4 面向切面:
面向切面编程(Aspect Oriented Programming)简称AOP,也是Spring的核心之一。AOP在不修改的源代码的情况下能够对原有的基础完成功能扩展。其核心就是动态代理;
3、Spring架构图:
Spring3.0以后模块式开发