Java核心知识回顾(三)

1 Spring Boot

现在软件市场已经形成一定的规模,系统架构的复杂度也越来越高(例如有单体架构,分布式架构,微服务架构)。软件的整个架构体系正在发生很大变化,在这种变化中,企业现在更注重技术的开箱即用,更注重技术在生态圈中的深度融合,更注重轻量级的运维。由此spring boot诞生。
说明:学技术一定要了解技术发展史,并对技术的发展有一定的前瞻性。

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

1.1 Spring Boot核心特性

Spring boot是一个脚手架(而非框架),构建于Spring框架(Framework)基础之上,基于快速构建理念,提供了自动配置功能,可实现其开箱即用特性(创建完一个基本的项目以后,可零配置或者少量配置即可运行我们的项目),其核心主要有如下几个方面:

1.2 Spring Boot项目启动过程分析

Java核心知识回顾(三)

思考:SpringBoot工程在启动时会做些什么?

  • 1)通过线程调用相关API从指定路径查找相关的配置文件,class文件.
  • 2)调用IO对象从磁盘中读取文件(将文件内容读到内存-CPU只能从内存取数据)
  • 3)检测类是否有特定注解描述(例如@Controller,@Service,…)
  • 4)Spring框架基于工厂对象(BeanFactory)为指定class创建其实例对象,并基于
    配置描述对这些对象进行初始化操作.
  • 5)将对象存储到Spring框架管理的池中(Bean池-其底层设计在这里是一个map)

====未完待