Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

官网 : http://spring.io/

官方下载地址 : https://repo.spring.io/libs-release-local/org/springframework/spring/

官方文档:https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/

GitHub : https://github.com/spring-projects

  • 主要发明者:RodJohnson
    • 轮子理论推崇者:
    • 轮子理论:不用重复发明轮子.IT 行业:直接使用写好的代码.

Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便.

  • Spring 几大核心功能
    • IoC/DI 控制反转/依赖注入
    • AOP 面向切面编程
    • 声明式事务.

Spring 框架 Runtime

  • test:spring 提供测试功能
  • CoreContainer:核心容器.Spring 启动最基本的条件.
    • Beans:Spring 负责创建类对象并管理对象
    • Core: 核心类
    • Context: 上下文参数.获取外部资源或这管理注解等
    • SpEl:expression.jar
  • AOP: 实现 aop 功能需要依赖
  • Aspects: 切面 AOP 依赖的包
  • DataAccess/Integration:spring 封装数据访问层相关内容
    • JDBC:Spring 对 JDBC 封装后的代码.
    • ORM: 封装了持久层框架的代码.例如 Hibernate
    • transactions:对应 spring-tx.jar,声明式事务使用.
  • WEB:需要 spring 完成 web 相关功能时需要.
    • 例如:由tomcat加载spring配置文件时需要有spring-web包

Spring 框架中重要概念

容器(Container):Spring 当作一个大容器.

BeanFactory 接口.老版本.新版本中 ApplicationContext 接口,是 BeanFactory 子接口.BeanFactory 的功能在 ApplicationContext 中都有.

从 Spring3 开始把 Spring 框架的功能拆分成多个 jar.Spring2 及以前就一个 jar