简介

  • spring官网 https://spring.io/
    spring生态圈现在已经是一个超级融合大平台,融合集成了各种框架优点。
    spring Boot的便捷式开发实现了零配置。Spring Cloud全家桶提供了非常方便的解决方案。
  • Spring Framework官网 https://spring.io/projects/spring-framework
    spring框架包结构如下图所示
    image.png

Spring的设计初衷

Spring的根本使命:简化开发。不同于其他框架,Spring在全方位地简化开发,采取了4个关键策略:

  • 基于POJO的轻量级和最小侵入性编程
  • 通过依赖注入和面向接口实现松耦合
  • 基于切面和惯性进行声明式编程
  • 通过切面和模板减少样板式代码
    以上是通过面向Bean(BOP),依赖注入(DI)及面向切面(AOP)

BOP编程

  • spring是面向Bean的编程(Bean Oriented Programming,BOP),Bean在spring中才是正真的主角,Bean对于spring就像于Object对于OOP的意义一样。

控制反转

控制反转基本概念:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在spring框架中是IoC容器)负责将这些联系在一起
spring的控制反转通过依赖注入和依赖查找,依赖查找因使用频率过低被spring移除

BeanFactory

spring的设计核心bean包(架构核心是core包)的设计目标是与javabean组件一起使用。这个包通常不由用户直接使用,而是由服务器将其用作其他功能的底层中介。

beanfactory支持对象模型

  • 单例模式:全局共享实例对象,spring默认
  • 原型模式:每次创建单独的实例对象。
    beanfactory是spring作为IoC容器的基础。Ioc将处理事情的责任从应用程序代码转移到框架(简化开发)。

这个家伙很懒,啥也没有留下😋