Spring是一款开源的轻量级框架(不需要依赖其它的东西就可以直接使用)。
功能:使用基本的JavaBean代替EJB(一种重量级框架,需要依赖很多东西)。
Spring是一个设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因 此他将面向接口的编程思想贯穿整个系统应用。
Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。
简单来说,Spring是一个分层的Java SE/EE full-stack(一站式)轻量级开源框架。
Spring在Java EE三层结构中,每一层都提供不同的解决技术,形成一种Spring生态,如:
WEB层 SpringMVC
SERVICE层 Spring的IOC
DAO层 jdbcTemplate
Spring版本:
Spring5.x 新项目用5.x,老点的项目用4.x。
1.特点
使层与层之间依赖于接口
Spring的bean工厂为我们创建对象,不需要程序自己new对象了(IOC:Inverse of control控制反转;DI:depandency injection依赖注入)
可以管理事务
可以对其他框架进行管理(Struts2, Hibernate, mybatis等)
可以使用 spring自带的springMVC框架
可以使用spring的JDBC模板jdbcTemplate
2.Spring核心部分
Spring是一个轻量级的IOC和AOP的容器。其两大核心部分是:
IOC(DI) 控制反转(依赖注入)
控制反转(依赖注入),不是一种技术,而是一种设计思想,即通过XML配置或注解的方式实例化对象(Bean),然后交给Spring容器控制,如项目中想使用对象,从容器中取用(依赖注入)。而非通过Java硬代码中的new来实例化对象。
AOP:面向切面(方面)编程
即应用程序在扩展功能时不修改源代码实现功能的扩展。
Spring 框架的一个关键组件是面向方面的程序设计(AOP)框架。一个程序中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样常见的很好的关于方面的例子,比如日志记录、声明性事务、安全性,和缓存等等。