SpringBoot 的理解-1

398 阅读3分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

前言

吃饱饭才有力气写代码~

随着这几天的实践,发现自己对 SpringBoot 的理解差强人意,本来也没有学很多,所以就打算最近好好学一学这个,边学习边记录吧!

一.简介

1.1 什么是SpringBoot

我比较习惯的方法就是学一个东西之前搞明白它是怎么来的干啥的怎么用,这样能起到一个提纲挈领的效果!

1.1.1 起源

SpringBoot 出现的背景就是随着各种语言的发展,Java的开发变得越来越笨重,需要很多的配置、开发效率的低下、复杂的部署流程以及第三方技术集成难度大;这种情况下,SpringBoot(约定大于配置) 可以快速构建项目、对主流的开发框架无配置集成、项目无需依赖外部Servlet容器、很高的开发部署效率受到了很大的推崇!

1.1.2 核心功能
- 独立运行的Spring项目
    - 可以通过 java -jar XX.jar 来独立运行一个SpringBoot项目
- 内嵌Servlet容器
    - 内嵌Tomcat容器,我们就不需要再用war包的形式部署项目
- 提供Starter简化Maven配置
    - Springt 提供了一系列的starter pom 来简化Maven的依赖加载,比如当我们用 spring-boot-starter-web 时,会自动加入很多相关的依赖包
- 自动配置Spring
    - SpringBoot 会根据类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置
- 准生产的应用监控
    - SpringBoot提供基于http、ssh、telnet对运行时的项目进行监控
- 无代码生成和xml配置
    - 它通过条件注解来实现配置
1.1.3 目标

SpringBoot基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高开发的效率。

1.2 创建SpringBoot项目

SpringBoot 读取本地txt文件并写入数据库的文章中简单介绍过怎么创建SpringBoot项目

1.3 基本配置

1.3.1 入口类和@SpringBootApplication

项目结构里会有一个叫做XXXApplication的入口类,里面有一个main方法,这就跟Java应用里的入口方法类似;在main方法里使用

SpringApplication.run(XXXApplication.class, args);

来启动SpringBoot应用项目。
@SpringBootApplication:
这是SpringBoot的核心注解,主要组合了@Configuration、@EnableAutoConfiguration、@ComponentScan;
@EnableAutoConfiguration:主要用来让SpringBoot根据类路径中的jar包依赖为当前项目进行自动配置;比如添加了spring-boot-starter-web依赖,会自动添加 Tomcat和SpringMVC的依赖,SpringBoot会对Tomcat和SpringMVC进行自动配置。

1.3.2 定制Banner

启动项目的时候会有这么一个默认的启动图案:

4.PNG
这个是可以修改的,在src/main/resources下新建一个banner.txt;可以通过 patorjk.com/software/ta… 网站生成你想要的字符,把网站生成的字符复制到banner.txt里,重新启动项目,图案就会变成你定制的这个。

1.3.3 全局配置文件

SpringBoot使用一个全局的配置文件application.properties或者application.yml;作用就是对一些默认的配置值进行修改。
例如:启动了几个项目时会出现端口号被占用的情况,这时候我们可以把Tomcat的默认端口号修改一下;就可以再application.yml里加上:

server:
  port: 9999

例如:想把默认的访问路径"/"修改成"/helloBoot",可以在application.yml里加上:

server:
  contextPath: /helloBoot

明天就周一了,不能摸鱼了,今天就先更到这里吧!其实我觉得对SpringBoot的理解还是要从源头开始,比如Spring、SpringMVC;这样之间的逻辑应该会更清晰吧!等我捋一捋的~