Spring Boot

一.为什么会去选择spring boot

创建一个mybatis

添加依赖 配置文件 映射文件

现在的软件市场已经形成了一定的规模,系统加购的复杂程度也是越来越高(例如单体机构,分布式加购,微服务架构),软甲的整个架构体系正在发生很大的变化,在这种变化之中,企业现在更加注重技术的开箱即用,更加注重在生态圈中的深度融合,更加注重轻量化的运维,所以spring boot诞生

配置maven
本地库,镜像,profile

二.spring boot核心特性

spring boot 是一个脚手架,构建与spring框架的基础之上,基于快速构建理念,提供了自动配置功能,可以实现其开箱即用的特性(创建完成一个基本的项目以后,可零配置活着是少量配置即可运行我们的项目,其核心主要有如下几个方面:
起步依赖--项目创建时底层帮你关联依赖
自动配置--
健康检查--监控

properties 
里面的配置内容可以暂时不用写,默认情况下会给我们指定一些配置.

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

1)底层会通过线程去查找相应的api
    通过线程调用相关api从指定的路径去查找相关的配置文件,class文件
2)通过调用io对象从磁盘中读取文件(配置文件,class文件)将文件内容读到内存中(cpu只能从内存中读取数据)
3)检测类是否有特定的注解描述(例如@controller,@service)
4)spring框架基于工厂对象(beanfactory)为指定class创建其实例对象,
并基于配置描述对这些对象进行初始化操作
5)将对象存储到spring框架管理的池中(bean池中--其底层设计在这里是一个map)
@SpringBootTest,@Componet 用于描述--其意图是告诉spring框架这连个类的实例对象创建由spring负责,并且由spring框架基于@autowired注解的描述完成ATest类中实例中有关A类型的值的注入(DI)
@SpringBootTest 注解用于告诉spring框架,此测试类交给spring 管理
@Autowried注解描述属性时,用于告诉spring框架要为此属性注入一个值
@component是spring中用于描述Bean类的一个注解,用于告诉spring这个类的实例由Spring创建,当此对象由Spring创建和管理时,默认会将对象存储到池(Bean)中
为对象设计作用域,设置延迟加载,设置声明周期方法

在Spring框架中,Spring为由它创建和管理的对象,设计了一些特性,例如作用域,延迟加载,生命周期方法等,基于这些特性实现对Bean对象的管理

@lazy注解用于描述类,其目的时告诉spring框架此类支持延迟加载,通过会配合单例作用域使用
@Scope是spring中用于定义Bean对象作用域的一个注解,其常用的值由
singleton(整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性有关,此实例创建以后,生命周期会由spring框架管理)pritotype(每次获取都会创建新的实例,此实例会在需要创建时创建与lazy特性无关,整个实例创建之后,不会交给spring管理,spring可以对其初始化,但不负责销毁
@PostConstruct注解用于描述Bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行(是对象创建以后的初始化)
@PreDestroy注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)~~~~
spring是一个资源整合框架,通过spring可将很多资源(自己写的对象或者第三方提供的对象,例如连接池等)整合在一起,然后进行科学应用,以便更好的提供服务

nick_guang
1 声望0 粉丝

今天很难,昨天也很难,但是明天会很美好


下一篇 »
spring boot2

引用和评论

0 条评论