【1】基础概念
Spring是轻量级的开源的JavaEE框架,它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层,可以和其他的框架无缝整合。
这里Spring框架其实我们指的是spring-framework,此外其projects还有SpringBoot、SpringData等。
Spring官网地址:https://spring.io/
Spring版本下载地址:https://repo.spring.io/ui/native/release/org/springframework/spring/
文档目录地址:https://docs.spring.io/spring-framework/docs/current/reference/html/
如下所示,目前稳定可用的是5.3.15版本(General Availability,正式发布的版本,官方推荐使用此版本。)
① Spring特征
轻量
Spring 是非侵入性的, 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API。其完整框架大小jar只有1M多,且其所需要的处理开销很小。
控制反转(依赖注入)
Spring通过一种称作控制反转的IOC技术促进了低耦合。当应用了IOC,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或查找需要的对象。
面向切片(AOP-aspect oriented programming)
Spring支持面向切片编程,把应用业务逻辑和系统服务分离开来。典型应用比如系统日志采集。
容器
Spring 是一个容器, 因为它包含并且管理应用对象的生命周期。Spring 提供了两种类型的 IOC 容器实现:BeanFactory-IOC 容器的基本实现 和 ApplicationContext-提供了更多的高级特性,是 BeanFactory 的子接口。
BeanFactory 是 Spring 框架的基础设施,面向 Spring 本身。ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合都直接使用 ApplicationContext 而非底层的 BeanFactory。
框架
Spring 实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用 XML 和 Java 注解组合这些对象,Spring也提供了很多基础功能(事务管理、持久化框集成等),将应用逻辑的开发留给程序员。
主要包说明如下表
包
说明
org.springframework.core
spring和核心包负责IOC基本实现
org.springframework.beans
顾名思义,bean的管理
org.springframework.aop
SpringAOP面向切面编程实现
org.springframework.context
提供在基础IOC功能上的扩展服务,比如邮件服务、任务调度、JNDI定位等
org.springframework.context.support
spring context的扩展支持