共计 3287 个字符,预计需要花费 9 分钟才能阅读完成。
1.springboot 简介
1.1 Spring Boot 概述
当初软件市场曾经造成肯定的规模,零碎架构的复杂度也越来越高(例如有单体架构,分布式架构,微服务架构)。软件的整个架构体系正在产生很大变动,在这种变动中,企业当初更重视技术的开箱即用,更重视技术在生态圈中的深度交融,更重视轻量级的运维。由此 spring boot 诞生。
阐明: 学技术肯定要理解技术发展史,并对技术的倒退有肯定的前瞻性。
1.2 Spring Boot 外围个性
Spring boot 是一个脚手架(而非框架),构建于 Spring 框架(Framework) 根底之上,基于疾速构建理念,提供了主动配置性能,可实现其开箱即用个性(创立完一个根本的我的项目当前,可零配置或者大量配置即可运行咱们的我的项目),其外围次要有如下几个方面:
起步依赖 (Starter Dependency)。
主动配置(Auto Configuration)。
健康检查(Actator)- 监控。
其中,SpringBoot 官网地址为:
2.springboot 的环境配置
2.1 筹备工作
工具下载
- 下载 JDK1.8,并进行环境变量配置(如果已有则无需再次下载和配置)。
- 下载最新 maven(例如 apache-maven-3.6.3, 网址 http://maven.apache.org/)并解压。
- 下载 sts 最新版 (例如 sts-4.4.5.RELEASE,sts 网址并解压(新版本下载下来时一个.jar] 文件,须要在 jar 文件所在的目录中,以命令行形式执行 java -jar 下载的文件名的形式进行解压,如图 - 1 所示(须要首先启动零碎自带的命令行客户端,而后切换到软件所在目录,cd 指令为切换目录的意思)。
工作区筹备:定义新的工作区(要求没有中文目录),例如 d:/TCGBIII/CGBWORKSP。
倡议:将下载的所有文件存储到同一目录并解压,例如 d:/TCGBIII/TCGBTOOLS 目录。要求目录不要有中文,也不要有特殊符号(例如 & 等)。
2.2 Maven 根本配置
关上 maven 中的 setting.xml 文件,并对其如下选项进行配置。
配置 maven 本地库(从 maven 近程服务器下载的资源存储到的地位)
<localRepository>${user.home}/.m3/repository</localRepository>
配置 maven 私服(近程仓库)(配置到 mirrors 标签外部)。
<mirror>
<id>aliyun</id>
<name>aliyun for maven</name>
<mirrorOf>\*</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
配置 maven 中的 profile(配置到 profiles 标签外部), 设置 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>
2.3 STS 整合 maven 配置
step1,启动 STS 工具,
step2,Maven Installations 配置,
step3,Maven User Settings 配置,
我的项目工作区编码设为 UTF-8,图略
3.springboot 的疾速入门
3.1 我的项目创立及构造剖析
关上 STS 集成开发工具,创立 spring boot 我的项目,其具体步骤如下:
第一步:关上我的项目新建窗口(快捷键 ctrl+n), 搜寻 spring,抉择 spring starter 我的项目。
第二步:填写我的项目根本信息。
第三步:抉择 Spring Boot 版本,图略:
在第三步图中点击 finish 之后,我的项目便开始从 maven 配置中指定的私服服务器(例如阿里云的 maven 服务器)去下载起步依赖 (SpringBoot 我的项目中默认指定了我的项目启动时须要的一些 jar 包依赖),这个过程可能会比拟耗时(网络最好不要用手机网络,会导致很多资源下载不下来),如果指定版本的 springboot 我的项目以前创立过,它会默认先从本地库查找,如果本地库没有,则从近程库去下载。
我的项目创立胜利当前,其包视图 (Package Explorer) 构造。
其中, 在图 -13 出现的 CGB-SBOOT-01 我的项目构造中,所有的类和配置文件都是创立好我的项目当前,由 STS 工具帮咱们主动创立的。
创立 springboot 我的项目的目录构造(即类地位),
当创立一个 maven 我的项目呈现了 pom.xml 文件谬误或者我的项目中红色叉号或叹号怎么办?可在我的项目上右键,对我的项目进行强制 maven update。
如何导入一个 maven 我的项目(例如通过 start.spring.io 网页间接生成的我的项目)?
鼠标右键 import,搜寻 maven,找到已存在的 maven project 间接引入我的项目的门路即可。
如何通过 start.spring.io 网页间接生成一个 springboot 我的项目?
3.2 我的项目启动过程剖析(理解)
找到我的项目的入口类(应用了 @SpringBootApplication 注解形容),而后运行启动类,检测启动过程,SpringBoot 在启动时,控制台会呈现如图 -14 标识(图略):
思考:SpringBoot 工程在启动时做些什么?
1)通过线程调用相 API 从指定门路查找相干的配置文件 (.class 文件)。
2) 调用 IO 对象从磁盘中读取文件 (将文件内容读到内存 –cpu 只能从内存读取数据)。
3) 检测类是否有特定的注解形容 (例如:@Controller,@Service,@Component ….)
4)Spring 框架基于工厂对象(BeanFactory) 为指定 class 创立实例对象,并基于配置形容对这些对象进行初始化操作。
5)将对象存储中 Spring 框架治理的池中(Bean 池 – 其底层设计在这里是一个 map)
我的项目启动时产生了什么呢?我在这里画了张图帮大家进行一下剖析
3.3 我的项目业务初步实现及测试
业务实现:
基于 SpringBoot 脚手架,通过 Spring 框架进行 Bean 对象的治理实现。
第一步:创立一个 DefaultCache 类而后交给 spring 治理。
package com.cy.pj.common.cache;
/**
* @Component 是 Spring 中用于形容 Bean 类的一个注解。用于通知 Spring 这个类的实例由 Spring 创立,* 当此对象由 Spring 创立和治理时,默认会将对象存储到池(Bean 池)中。*/
@Component
public class DefaultCache {}
第二步:增加 sringboot 测试类,进行 bean 的获取及测试,要放在 test 目录中:
package com.cy.pj.common.cache;
@SpringBootTest// 注解用于通知 spring 框架, 此测试类交给 spring 治理。这个注解形容的类也会由 spring 框架进行创立,并且进行值的注入(赋值)
public class DefaultCacheTests {@Autowired //@Autowired 注解形容的属性,由 spring 框架进行值的注入(赋值)
private DefaultCache defaultCache;
@Test
public void testCache() {System.out.println(defaultCache);
}
}