Spring Boot 简介
Spring Boot 概述
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决
Spring Boot核心特性
构建于Spring框架(Framework)基础之上,类似于脚手架(而非框架),核心有
1.起步依赖
2.自动配置
3.健康检查
Spring Boot 官方地址:https://spring.io/projects/spring-boot
Spring Boot 环境配置
一.准备工作
1.工具下载:下载JDK1.8,并进行环境变量配置;下载maven最新版(http://maven.apache.org/)并解压;下载sts最新版(http://spring.io/tools)
2.工作区准备:定义新工作区(不能包含中文目录和特殊符号 例如&)
二.Maven配置
打开 maven-conf-settings.xml
a)maven本地库
<localRepository>
${user.home}/.m3/repository
</localRepository>
b)maven私服(镜像)
<mirror>
<id>aliyun</id>
<name>aliyun for maven</name>
<mirrorOf>\*</mirrorOf> <url>https://maven.aliyun.com/repository/public</url>
</mirror>
c)maven中的profile,设置JDK编译和运行版本
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>
1.8
</maven.compiler.compilerVersion>
</properties>
</profile>
三.STS整合maven配置
启动STS工具(SpringToolSuite4.exe)
Maven Installation配置
- maven的解压路径
Maven User Settings配置
-setting.xml路径
项目工作区编码设置
-workspace 中选择 UTF-8
四 .STS工具使用基本优化
Spelling、Hyperlink、Validation选择Disable ALL
修改STS工具内存配置(SpringToolSuite4.ini)
Spring Boot 快速入门
一.项目创建及结构分析!
1.新建窗口(快捷键ctrl+n) 选择spring starter
2.填写项目信息
3.选择Spring Boot版本(学习推荐最新版本,工作推荐稳定版本)
下图为其包视图(Package Explorer)结构

文件夹的作用
二.项目启动过程分析
1. 找到项目入口类(使用@SpringBootApplication注解描述),运行启动类
项目启动时发生如下过程

SpringBoot启动时,(XxxApplication)首先根据启动入口类上的注解描述,进行自动配置并扫描指定包以及子包中(自己写的类要放在启动类所在的包或子包中)的类进行加载,然后检测类上是否有Spring框架中指定的注解描述(例如@Component,@Controller,@Service等)。如果有,则将类交给Spring框架中的BeanFactory工厂接口的实现类对象,此工厂对象还会根据反射创建Bean的实例,如果Bean指定类声明周期方法,还会调用生命周期方法。 当实例创建以后,spring框架还会基于类的作用域描述,将实例存储到不同作用域的容器中,以实现Bean对象的科学应用。
【springboot工程在启动时会做些什么?】
1)通过线程调用相关API从指定路径查找相关配置文件 class文件
2)调用IO对象从磁盘中读取文件(将文件内容读到内存-cpu只能从内存读取数据)
3)检测 类是否有特定注解描述(例如@Controller,@Service)
4)Spring框架基于工厂对象(BeanFcatory)为指定class创建其实例对象,并基于配置描述对这些对象进行初始化操作
5)将对象存储到Spring框架管理的池中(Bean池-其底层设计在这里是一个map)
相关注解含义
@SpringBootApplication 注解描述的类是Spring项目运行启动的入口
@Component 注解描述Bean类的一个注解,告诉spring这个类的实例由spring创建,当此对象由spring创建和管理时,默认将此对象储存到池(Bean池)中
@SpringBootTest 注解描述的类会由spring框架进行创建,并且进行值的注入(赋值)
@Autowired 注解描述的属性由spring框架进行值的注入(赋值)
二.项目业务出实现及测试
1)创建一个DefaultCache类然后交给spring 管理
2)添加sringboot 测试类,进行bean的获取及测试,要放在test目录中
3)代码设计及运行分析

**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。