spring boot的简介

  • Post author:
  • Post category:其他




什么是spring boot

spring boot是一个脚手架,构建于spring框架之上;基于快速构建理念,提供了自动配置功能,可以实现开箱即用特性;构建完一个项目后,可以零配置或少量配置即可运行我们的项目;spring boot具有以下特性:

1.起步依赖

2.自动配置

3.健康检查



spring boot 环境配置

准备工作:

1.下载jdk1.8,配置好环境变量

2.下载最新的Maven

3.到官网下载最新的sts,定义新的workspace(注意所有的目录下不要有中文)



Maven的基本配置

①.带Maven的conf目录下修改settings.xml配置,设置私服,设置成aliyun

aliyun

aliyun for maven

*

https://maven.aliyun.com/repository/public

②设置本地仓库,存放依赖包

${user.home}/.m3/repository

③设置jdk版本为1.8;因为jdk1.8版本是最稳定的;

jdk-1.8

true

1.8

<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>



STS整合Maven配置

启动STS进行配置

Maven Installation—user settings–workspace(设置text file encoding为utf-8)



spring boot项目启动过程图

在这里插入图片描述

springboot 项目在启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描指定包及子包中的类进行加载,然后检测类上是否有spring 框架中指定的注解描述(例如@component,@controller等),如果有,则将类交给spring框架中的BeanFactory工厂接口的实现类对象,此工厂对象会基于反射创建Bean实例,假如此Bean指定了生命周期方法,还会调用生命周期的方法.当实例创建后,spring框架还会基于类的作用域描述,将实例存储到不同作用域的容器中.实现Bean对象的科学管理.

@component 是spring中用于描述Bean类的一个注解,用于告诉spring这个类是用spring创建,当此对象由spring创建和管理时,默认会将对象存储到池(Bean 池)中;

@SpringBootTest 注解用于告诉spring框架,此测试类交给spring管理

@AutoWired注解描述属性时,用于告诉spring框架要为此属性注入一个值;

@Scope 是Spring中用于定义Bean对象作用域的一个注解,其常用的值有

singleton(整个内存有一份Bean实例),prototype(每次获取都会创建新实例)等。

@Lazy注解用于描述类,其目的是告诉spring框架此类支持延迟加载。

@PostConstruct 注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行。

@PreDestroy 注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行。

Spring框架管理Bean对象有什么优势:

spring 是一个资源整合框架(Framework),通过spring可将很多资源(自己写的对象或第三方提供的对象,例如连接池等)整合在一起,然后进行科学应用,以便更好的对外提供服务

Spring框架可以为由它管理的对象(Bean)提供懒加载策略(对象暂时用不到,则无需加载和实例化),作用域(例如singleton-频繁用时可以考虑内存中只有一份,prototype-使用次数少时可以用时创建,不用时销毁),生命周期方法(更好实现对象的初始化和资源销毁),以实现对象对系统资源的有效使用。同时Spring框架还可以基于用户设计管理对象与对象的依赖关系,以降低对象与对象之间的直接耦合,提高程序的可维护性和可扩展性。



版权声明:本文为m0_46178625原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。