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)结构
    ![image8.png](/img/bVbKomr)
    
    文件夹的作用
    

springboot文件夹作用.png

二.项目启动过程分析

    
    1. 找到项目入口类(使用@SpringBootApplication注解描述),运行启动类
    项目启动时发生如下过程
    
![image17.png](/img/bVbKooC)

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)代码设计及运行分析

![image19.png](/img/bVbKots)









Bruce
1 声望0 粉丝