1,什么是Spring:

Spring技术是JavaEE开发必备技能;
在专业的角度来讲,使用Spring的好处有:

  1. 1. **简化开发**,降低企业级开发的复杂性;
  2. 1. **框架整合**,高效整合其他技术,提高企业级应用开发与运行效率;

①、方便解耦,简化开发(Spring提供了IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。)
②、提供了AOP面向切面的编程,可以对某些方法进行扩展)
③、声明式事务的支持(可以从单调烦闷的事务管理代码中解脱出来,)
④、方便程序的测试,由于junt4之后提供了注解,可以通过注解方便的测试Spring程序。
⑤、方便集成各种优秀框架(Spring不排斥各种优秀的开源框架如Struts,Hibernate)

spring容器创建对象的时机

第一种:默认情况下,启动 spring 容器便创建对象(遇到bean便创建对象)
第二种:在spring的配置文件bean中有一个属性(懒加载) lazy-init=“default/true/false”
    ①、如果lazy-init为”default/false”在启动spring容器时创建对象(默认情况)
     ②、如果lazy-init为”true”,在context.getBean时才要创建对象


Spring生态:

image.png

其中:Spring Framework 是整个Spring生态圈中最基础的项目,也是其他项目的根基;

* Spring Framework的系统结构:(目前使用 5.0+的 版本)

image.png

在 Core Container (核心容器)中:存放的是对象;在你要获取对象的时候,直接到容器中获取即可; 在Web中,将会使用Spring自带的Spring MVC框架进行开发;


2,Spring的知识体系结构:

  1. part1:核心容器:
    1. 核心概念(IoC/DI)
    2. 容器基本操作
  2. part2:整合的技术:
    1. 整合数据层技术MyBatis 和 MyBatis-plus;
  3. part3:AOP:
    1. 核心概念
    2. AOP基础操作
    3. AOP实用开发
  4. part4:事务:
    1. 事务实用开发
  5. part5:Spring家族:
    1. SpringMVC
    2. SpringBoot
    3. SpringCloud