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

详解SpringBoot获得Maven-pom中版本号和编译时间戳 主要介绍了详解SpringBoot获得Maven-pom中版本号和编译时间戳,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

前言

我们刚开始学习 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.创建一个spring boot项目的三种方式

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

  • 在线创建
  • 使用开发工具创建
  • Maven 创建

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

 

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.理解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框架,甩给我一份文档

 

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

 

5.Spring Boot中的 yaml 配置

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

 

6.自定义 Spring Boot 中的 starter

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

 

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

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

 

8.Spring Boot 中配置 Https

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

 

9.Spring Boot 整合 Thymeleaf

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

 

10.Spring Boot 整合 Freemarker

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

 

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

12.@ControllerAdvice 的三种使用场景

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

 

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

14.CORS 解决跨域问题

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

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

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

 

总结:

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

本文总共从29个章节,248页PDF,阐述springboot在各种环境下的各种用法,文中给大家列举出部分的springboot教程,需要这份10万字节springboot全教程PDF的朋友,可以关注小编+转发文章+私信【666】获取。

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

 

微信公众号开发实战:如何高效推送模板消息(附完整代码示例) 本文详细解析了微信公众号开发中模板消息推送的核心流程与实战技巧。文章从OpenID获取、模板申请、Access Token缓存管理到完整PHP代码实现,逐步拆解了高效推送模板消息的关键步骤,并提供了可直接复用的代码示例,帮助开发者快速集成这一提升用户体验的重要功能。 阅读详情

相关推荐

Codesys—Modbus RTU称重变送器通讯案例

Codesys控制器使用标准的Modbus库,与支持ModbusRTU的称重变送器进行通讯的案例

原来你也__的博客 2740

spring 添加版本号/md5

经过同事帮助,不断测试,发现如下问题 添加版本号 阅览文章 Spring-Boot整合freemarker引入静态资源css、js等 http://www.toutiao.com/a6428064889595871490/ 一、概述 1.springboot 默认静态资源访问的路径为: /static 或 /public 或 /resources 或 /META-INF/resources 这样的地址都必须定义在src/main/resources目录文件中,达到在项目启动时 自动加载 项目静态地址目

m0_56463670的博客 919

Unity集成阿里云语音AI:从麦克风录音到实时语音合成的全流程实现

本文详细介绍了在Unity中集成阿里云语音AI服务,实现从麦克风录音到实时语音合成的完整流程。通过调用阿里云的语音转文字和文字转语音接口,开发者可以快速为游戏或应用添加语音交互功能,提升用户体验。文章涵盖了环境配置、签名认证、音频处理及项目集成等核心步骤,并提供了实用的调试技巧。

weixin_29224589的博客 323

spring boot实现静态资源文件自动添加版本号-MD5方式

在我们做Web开发时,免不了与静态资源(css,js,images)打交道,通常的做法是在请求的URL上添加版本信息,这样可以很好的利用客户端缓存机制,只有当资源内容改变时,才需要从服务器重新请求,并加载最新版本资源,本文章介绍MD5方式。 使用这种方式,当我们文件修改后,手工修改版本号来达到URL文件不被浏览器缓存的目的。 第一步:修改application.properties配置文件 spring.resources.chain.strategy.cont...

qq_39324871的博客 1392

【Unity3D】关于unity中spriteAtlas的打包方案及使用时内存状态的多组对照实验

unity项目中使用精灵(Sprite)为了降低性能消耗,我们可以使用精灵图集(Sprite Atlas)技术,它能够将多个纹理合并成一个大纹理

云渊寒烬 5101

【技能---ubuntu20.04更换国内镜像源】

安装好ubuntu20.04后,在下载软件等安装包的时候,速度特别的慢,为此就想着更换一下镜像源,以此来增加下载的速度!!!下面是换源的具体流程!!!提示:以下是本篇文章正文内容,下面案例可供参考以上到这里就更换完软件源了,如有不足之处,请大家斧正!!!

fyc300的博客 1万+

springboot 获取项目版本

springboot 获取项目/模块版本号 1. pom.xml文件标签中添加 <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes&gt...

qq_44399112的博客 1952

实战指南 | Adjust 与 Facebook、Google Ads 自归因配置全流程解析

本文详细解析了Adjust与Facebook、Google Ads自归因配置的全流程,帮助移动应用出海推广者解决广告归因难题。通过自归因功能(SAN),开发者可以获取更准确的数据、简化配置流程并扩大安装来源覆盖,显著提升广告效果监测和ROI计算效率。

weixin_42528780的博客 539

springboot自定义版本号

1.自定义版本号注解 @Target({ElementType.METHOD, ElementType.TYPE}) // 类上和方法上都可以 @Retention(RetentionPolicy.RUNTIME) @Documented @Mapping //spring的元注释,表示 Web 映射注释 public @interface ApiVersion { /** * 自定义版本号 */ int value() default 1; } 2.自定义版本号筛选规则 实现RequestC

zcl_1991的博客 1261

ArcGIS中根据DEM和地形起伏度进行地貌分类划分

大家好我是GIS蒲公英,数字高程模型(digital elevation model, DEM)经常都被用到专题地图的底图中,下面来我们来交流一下仅选择海拔和地形起伏度两个指标,用DEM来进行地貌类型的自动判别划分

GIS蒲公英的博客 3万+

Quartus II 13.1 出现 ‘‘can‘t find design entity <Filename>‘‘ 问题的解决方法

Quartus II 13.1 出现 ''can't find design entity '' 问题的解决方法

qq_62076686的博客 1万+

1.14 springboot-01

springboo-011.认识springboot1. springboot是什么?2. springboot是做什么的?3. springboot的优缺点优点:缺点:4.当前场景4.1 微服务4.2 分布式技术分布式的困难分布式的解决4.3 云原生上云的困难上云的解决5. springboot的详细认识2. springboot基础1.工具版本1.1 maven配置2. 创建项目2.1 创建maven工程(略)2.2 引入springboot所需依赖2.3 创建主程序2.4 编写测试代码2.5 通过网页

jiaguopeng的博客 346

【YOLO部署Android安卓手机APP】YOLO11部署到安卓实时目标检测识别——以火焰烟雾目标检测识别举例(可自定义更换其他目标)

本项目基于YOLOv11部署到手机APP实现对火焰烟雾的检测识别,当然,以此你可以按照本项目开发步骤扩展更换为其他目标进行检测,例如更换为车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人、口罩、行为、水果、植物、农作物等等部署手机APP进行检测。本文为详细设计/配置文档,包含完整所需的环境配置搭建,项目工程配置步骤等,手把手记录使用pycharm和Android studio的工程开发过程,实现YOLO部署到安卓。实战开发,亲测无误。演示视频训练了50轮进行了展示(为演示,训练轮数较少,你可以训练轮数多些

嵌入式阿齐Archie 1万+

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

给大家送一个小福利附高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!职业规划迷茫的朋友们。[外链图片转存中…(img-iYjTNWnw-1712763705005)]《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_84047990的博客 981

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Alibaba面试官提问:说说你对消息队列的理解
下一篇: 阿里资深架构师分享之全程手写Spring
java架构师小芷
博客等级 码龄6年 216粉丝 519原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值