1

SpringBoot 简介

概述

  Springboot是一个基于spring框架构建脚手架,基于快速构建理念,提供了自动配置功能,实现其开箱即用的特性(创建一个项目是可零配置或少量配置就能运行我们的项目).
  springboot是一个资源整合框架,通过Spring框架可以将很多资源整合(例如:自己写的对象,第三方提供的对象,如连接池等整合到一起),便于使用.
  可以对Spring框架管理的对象(Bean)提供懒加载策略,作用域,以及生命周期方法,实现对象对系统资源的有效使用.还可基于用户的设计管理对象与对象之间的关系,以降低对象见得耦合性,提高程序和可维护性和可扩展性.

核心特性

其核心特性主要有:
  • 启动依赖: 项目创建框架时底层自动关联依赖
  • 自动配置-开箱即用
  • 健康检查-系统监控

SpringBoot 环境搭建

基于IDEA创建springboot项目

1.file -->new ->project 选择Empty Project,点击next

image.png

2.输入工程名,点击finish

image.png

3.选择modules,点击 + 号 之后 选择 new moudle

image.png

4.如下图选择后点击next

image.png

5.按项目填写完后,点击next

image.png

6.选择要项目需要添加的依赖,点击下一步

image.png

7.输入项目名称,点击完成即可

image.png

Springboot 总结

1.SpringBoot是什么?

SpringBoot是一个基于Spring的轻量级的资源整合框架,它不仅继承了Spring框架原有的特性,可尽可能的通过简化配置,简化了Spring应用的整个搭建和开发过程,提供了自动配置,实现其开箱即用的特性(创建一个项目可零配置或尽可能少的配置,就可运行我们的项目)

2.Springboot的核心优势,使用SpringBoot的好处

 1.SpringBoot的开箱即用特性,在开发过程中,可通过向Maven的 pom.xml文件添加相关的依赖包,和添加相应的注解来管理bean对象,不用配置繁琐的xml文件.
2.SpringBoot框架可为由它管理的Bean对象提供延迟加载(懒加载)策略,作用域,生命周期方法,合理的管理对象,更有效的使用系统资源
3.SpringBoot框架还可以基于用户的设计合理的管理对象与对象间的关系,减少对象间的耦合性,提高程序的可维护性和可扩展性.

3.SpringBoot的启动过程

image.png

4.SpringBoot项目启动时,Bean对象的初始化过程是怎么样的?

5.SpringBoot项目启动时,Bean对象的依赖注入过程是怎么样的?

6.Spring 框架中Bean对象有什么特性

延迟加载/懒加载 作用域 生命周期方法

Spring框架在为bean创建对象是会赋予其特性:懒加载策略(延迟加载),作用域生命周期发方法,便于管理bean对象和有效的利用系统资源
@Lazy 此注解表示延迟加载,按需加载,先不创建对象,在需要时再创建对象.

  1)优点:可以优化系统资源的利用
  2)缺点:需要时再加载会影响加载速度
  3)使用场景:大资源,使用频度低的资源适合懒加载
  4)实现方法:在需要懒加载的对象上加@Lazyzhujie 即可

@Scope()作用域: Spring框架为对象提供作用范围,其生命周期方法只在作用作用域内有效

 优点:让对象在有效范围作用,尽量控制对象的创建和销毁,以保证程序高效低耗的运行
 缺点:框架底层设计难度会加大,应用不熟练会导致作用域冲突。
 实现方法:在需要设定作用域的类上加@Scope()注解
   1)**单例作用域**@Scope("singleton")作用域的对象在内存中只有一份,通过共享设计(Bean池)实现对象的可重用性何时创建由懒加载特性决定,何时销毁由spring框架决定,一般在容器销毁时销毁

适用于使用频度高的对象

   2)**多例作用域**@Scope("prototype")多例作用域,此作用域的对象在需要时创建(与懒加载特性无关),每次从容器获取都是一个新的对象,且这些对象spring框架不负责销毁。适合应用频度比

较低的对象,适用于使用频度低的对象~~~~。

 **生命周期方法:** 每个对象都有生命周期,但不见得每个对  象都会设置生命周期方法,生命周期方法是在对象生命周期过程中要执行的一些方法。
**@PostConstruct** 注解描述的方法会在对象构建以后执行,用于执行一些初始化操作
**@PreDestroy** 注解描述的方法会在单例对象销毁之前执行,spring容器在销毁之前会先将容器(Bean池)中的对象进行移除,在移除对象时,假如对象中定义了生命周期销毁方法,此时还会调用对象的生命周期销毁方法(在这样的方法中可以做一些资源释放操作)。







zhangsir
4 声望0 粉丝