公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档

前言:

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第1张图片

我们刚开始学习 JavaWeb 的时候,使用 Servlet/JSP 做开发,一个接口搞一个 Servlet ,很头大,后来我们通过隐藏域或者反射等方式,可以减少 Servlet 的创建,但是依然不方便,再后来,我们引入Struts2/SpringMVC 这一类的框架,来简化我们的开发 ,和 Servlet/JSP 相比,引入框架之后,生产力确实提高了不少,但是用久了,又发现了新的问题,即配置繁琐易出错,要做一个新项目,先搭建环境,环境搭建来搭建去,就是那几行配置,不同的项目,可能就是包不同,其他大部分的配置都是一样的,Java 总是被人诟病配置繁琐代码量巨大,这就是其中一个表现。那么怎么办?Spring Boot 应运而生,Spring Boot 主要提供了如下功能:

  1. 为所有基于 Spring 的 Java 开发提供方便快捷的入门体验。
  2. 开箱即用,有自己自定义的配置就是用自己的,没有就使用官方提供的默认的。
  3. 提供了一系列通用的非功能性的功能,例如嵌入式服务器、安全管理、健康检测等。
  4. 绝对没有代码生成,也不需要XML配置。

Spring Boot 的出现让 Java 开发又回归简单,因为确确实实解决了开发中的痛点,因此这个技术得到了非常广泛的使用,我很多朋友出去面试 Java 工程师,从2017年年初开始,Spring Boot基本就是必问,现在流行的 Spring Cloud 微服务也是基于 Spring Boot,因此,所有的 Java 工程师都有必要掌握好 Spring Boot。

内容简介:

1.纯Java搭建SSM项目

在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭建框架,Spring Boot 中,大量的自动化配置都是通过 Java 配置来实现的,这一套实现方案,我们也可以自己做,即自己也可以使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 。

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第2张图片

2.创建一个spring boot项目的三种方式

初学者看到 Spring Boot 工程创建成功后有那么多文件就会有点懵圈,其实 Spring Boot 工程本质上就是一个 Maven 工程,从这个角度出发,松哥在这里向大家介绍三种项目创建方式。

  • 在线创建

  • 使用开发工具创建

  • Maven 创建

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第3张图片

3.理解 Spring Boot 项目中的 parent

基本功能

当我们创建一个 Spring Boot 工程时,可以继承自一个 spring-boot-starter-parent ,也可以不继承自它,我们先来看第一种情况。先来看 parent 的基本功能有哪些?

  1. 定义了 Java 编译版本为 1.8 。

  2. 使用 UTF-8 格式编码。

  3. 继承自 spring-boot-dependencies ,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号。

  4. 执行打包操作的配置。

  5. 自动化的资源过滤。

  6. 自动化的插件配置。

  7. 针对 application.properties 和 application.yml 的资源过滤,包括通过 profifile 定义的不同环境的配置文件,例如 application-dev.properties 和 application-dev.yml。

请注意,由于application.properties和application.yml文件接受Spring样式占位符 $ {...} ,因此 Maven 过滤更改为使用 @ .. @ 占位符,当然开发者可以通过设置名为 resource.delimiter 的Maven 属性来覆盖 @ .. @ 占位符。

源码分析

当我们创建一个 Spring Boot 项目后,我们可以在本地 Maven 仓库中看到看到这个具体的 parent 文件,以 2.1.8 这个版本为例,松哥 这里的路径是C:\Users\sang\.m2\repository\org\springframework\boot\spring-boot-starterparent\2.1.8.RELEASE\ spring-boot-starter-parent-2.1.8.RELEASE.pom ,打开这个文件,快速阅读文件源码,基本上就可以证实我们前面说的功能,如下图

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第4张图片

4.理解Spring Boot 配置文件 application.properties

位置问题

首先,当我们创建一个 Spring Boot 工程时,默认 resources 目录下就有一个 application.properties文件,可以在 application.properties 文件中进行项目配置,但是这个文件并非唯一的配置文件,在Spring Boot 中,一共有 4 个地方可以存放 application.properties 文件。

  1. 当前项目根目录下的 confifig 目录下

  2. 当前项目的根目录下

  3. resources 目录下的 confifig 目录下

  4. resources 目录下

按如上顺序,四个配置文件的优先级依次降低。如下:

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第5张图片

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第6张图片

5.Spring Boot中的 yaml 配置

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第7张图片

​6.自定义 Spring Boot 中的 starter

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第8张图片

7.理解自动化配置的原理

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第9张图片

8.Spring Boot 中配置 Https

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第10张图片

​9.Spring Boot 整合 Thymeleaf

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第11张图片

10.Spring Boot 整合 Freemarker

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第12张图片

11.Spring Boot 中的静态资源配置

12.@ControllerAdvice 的三种使用场景

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第13张图片

13.Spring Boot 中的全局异常处理

14.CORS 解决跨域问题

15.定义系统启动任务的两种方式

16.定时任务的两种实现方式

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第14张图片

总结:

可以毫不夸张地说,这篇文章介绍的 SpringBoot 教程基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个springboot的用法,文中都会都会有详细的教程解释。

本文总共从29个章节,248页PDF,阐述springboot在各种环境下的各种用法,文中给大家列举出部分的springboot教程,【springboot】icon-default.png?t=MBR7https://gitmind.cn/app/docs/mjka2n0q

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档_第15张图片

你可能感兴趣的:(java,编程,程序员,spring,boot,java,servlet)