【Spring Boot2.0学习之旅-01-1】SpringBoot2.x依赖环境和版本新特性说明

snakeyaml从1.30升级2.0版本遇见的坑,解决办法 报错信息 2023-08-21 18:48:46,282 INFO [TID: N/A] [main] c.c.f.f.i.p.DefaultApplicationProvider - App ID is set to S20400009 by app.id property from System Property 2023-08-21 18:48:46,287 INFO [TID: N/A] [main] c.c.f.f.i.p.DefaultServerProvider - Environment 阅读详情

第一章:零基础快速入门SpringBoot2.0

01-1 SpringBoot2.x依赖环境和版本新特性说明

简介:讲解新版本依赖环境和springboot2新特性概述

	1、依赖版本jdk8以上, Springboot2.x用JDK8, 因为底层是 Spring framework5, https://spring.io/
	2、安装maven最新版本,maven3.2以上版本,下载地址 :https://maven.apache.org/download.cgi
	3、Eclipse或者IDE
	4、新特性
	5、翻译工具:https://translate.google.cn/
	6、springboot GitHub地址:https://github.com/spring-projects/spring-boot
	7、springboot官方文档:https://spring.io/guides/gs/spring-boot/

1.Spring相关知识介绍

1.1 为什么使用Spring?

在这里插入图片描述

Spring 使每个人都可以更快、更轻松、更安全地进行 Java 编程。 Spring 对速度、简单性和生产力的关注使其成为世界上最受欢迎的Java框架。

spring负责人:“我们使用 Spring 框架附带的许多工具,并获得了许多开箱即用的解决方案带来的好处,而不必担心编写大量额外的代码——这确实为我们节省了一些时间和能量。”

1.2 Spring的发展史

第一阶段:xml配置

在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时候需要频繁地在开发的类和配置文件之间转换。

第二阶段:注解配置

在Spring2.x时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(如@Component、@Servvice),大大减少了配置量。这时Spring圈子里存在着一种争论:注解配置和xml配置究竟哪个更好?最终我们的选择是应用的基本配置(如数据库配置)用xml,业务配置用注解。

第三阶段:Java配置

从Spring 3.x到现在,Spring提供了Java配置的能力,使用Java配置可以让你更理解你配置的Bean。我们刚好处于这个时期,Spring 4.x和Spring Boot都推荐使用Java配置。

1.3 Spring概述

Spring框架是一个轻量级的企业级开发的一站式解决方案。所谓解决方案就是可以基于Spring解决Java EE开发的所有问题。Spring框架主要提供了IoC容器、AOP、数据访问、Web开发、消息、测试等相关技术的支持。

Spring使用简单的POJO(Plain Old Java Object,即无任何限制的普通Java对象)来进行企业级开发。每一个被Spring管理的Java对象都称之为Bean;而Spring提供了一个IoC容器用来初始化对象,解决对象间的依赖管理和对象的使用。

(1)spring的模块

spring是模块化的,这意味着你可以只使用你需要的spring的模块。如图所示。

img

(1)核心容器(Core Container)

  • Spring-Core: 核心工具类,Spring其他模块大量使用Spring-Core;
  • Spring-Beans: Spring 定义 Bean 的支持;
  • Spring-Context: 运行时 Spring 容器;
  • Spring-Context-Support: Spring容器对第三方包的集成支持;
  • Spring-Expression: 使用表达式语言在运行时查询和操作对象。

(2)AOP

  • Spring-AOP:基于代理的AOP支持;

  • Spring-Aspects:基于 Aspectl 的 AOP 支持。

(3)消息(Messaging)

  • Spring-Messaging:对消息架构和协议的支持。

(4)Web

  • Spring-Web:提供基础的Web集成的功能,在Web项目中提供Spring的容器;
  • Spring-Webmvc:提供基于 Servlet 的 Spring MVC;
  • Spring-WebSocket:提供 WebSocket 功能;
  • Spring-Webmvc-Portlet:提供 Portlet 环境支持。

(5)数据访问/集成(DataAccess/Integration)

  • Spring-JDBC:提供以JDBC访问数据库的支持;
  • Spring-TX:提供编程式和声明式的事务支持;
  • Spring-ORM:提供对对象/关系映射技术的支持;
  • Spring-OXM:提供对对象/xml映射技术的支持;
  • Spring-JMS:提供对JMS的支持。
(2)Spring的生态

Spring发展到现在已经不仅仅是Spring框架本身的内容,Spring目前提供了大量的基于
Spring的项目,可以用来更深入地降低我们的开发难度,提高开发效率。

目前Spring的生态里主要有以下项目,我们可以根据自己项目的需要来选择使用相应的
项目。

  • Spring Boot: 使用默认开发配置来实现快速开发。
  • Spring XD: 用来简化大数据应用开发。
  • Spring Cloud: 为分布式系统开发提供工具集。
  • Spring Data: 对主流的关系型和NoSQL数据库的支持。
  • Spring Integration: 通过消息机制对企业集成模式(E1P) 的支持。
  • Spring Batch:简化及优化大量数据的批处理操作。
  • Spring Security:通过认证和授权保护应用。
  • Spring HATEOAS:基于HATEOAS原则简化REST服务开发。
  • Spring Social:与社交网络API (如Facebook、新浪微博等)的集成。
  • Spring AMQP:对基于AMQP的消息的支持。
  • Spring Mobile:提供对手机设备检测的功能,给不同的设备返回不同的页面的支持。
  • Spring for Android:主要提供在 Android 上消费 RESTful API 的功能。
  • Spring Web Flow:基于Spring MVC提供基于向导流程式的Web应用开发。
  • Spring Web Services:提供了基于协议有限的SOAP/Web服务。
  • Spring LDAP:简化使用LDAP开发。
  • Spring Session:提供一个API及实现来管理用户会话信息。

2.Spring Boot相关知识介绍

2.1 什么是Spring Boot?

随着动态语言的流行,Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。

在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring 框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

2.2 Spring Boot的核心功能

  • a.独立运行的Spring项目

Spring Boot可以以jar包的形式独立运行,运行一个Spring Boot项目只需通过java -jar xx.jar来运行 。

  • b.内嵌Servlet容器

Spring Boot可选择内嵌Tomcat、Jetty或者Undertow,这样我们无须以war包形式部署项目。

  • c.提供starter简化Maven配置

Spring提供了一系列的starter pom来简化Maven的依赖加载。例如,当你使用了spring-boot-starter-web时,会自动加入依赖包。

  • d.自动配置Spring

Spring Boot会根据在类距离中的jar包、类,为jar包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置Bean,而Spring Boot没有提供支持,则可以自定义自动配置。

  • e.准生产的应用监控

Spring Boot提供基于http、ssh、telneet对运行时的项目进行监控。

  • f.无代码生成和xml配置

Spring Boot的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的。

3.Maven相关知识

在项目搭建过程中,可能有些开发者是通过开发工具新建项目,然后将项目所要依赖的第三方jar包复制到下面的类路径下。

但是我们现在要和这种项目搭建的方式说拜拜了,因为上述搭建方式没有第三方类库的依赖关系,在导入一个特定的jar包时,可能此jar包还依赖与其它的jar包,其它的jar包又依赖于更多的jar包,这也是会遇到ClassNotFound错误的主要原因。

为了解决上述问题,现急需引入一个项目搭建工具。目前主流的项目搭建工具有:Ant、Maven、Gradle等。

Apache Maven是一个软件项目管理工机具。基于项目对象模型(Projeect Object Model,POM)的概念,Maven可用来管理的项目依赖、编译、文档等信息。

使用Maven管理项目时,项目依赖的jar包将不在包含在项目内,而是集中放置在用户目录下的.m2文件夹下。

还有后续工作,大家点赞评论收藏关注走起来!!!学起来!!!

【SpringBoot 4.x 第1节】夯爆了,为什么现在要学 Spring Boot 4.x?从零开始理解版本体系、核心变化与真实项目开发路线(超详解)! 🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。 本专栏面向 有一点 Java 基础,但没有系统学过 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,最终带你从第一个 Hello API 一路完成一个可部署、可监控、可扩展的后端项目。 阅读详情

相关推荐

SpringBoot 系列教程(五十):Spring Boot 1.X生命周期已结束 ,Spring Boot 2.X 走向舞台中心

Spring Boot 1.x 生命周期已结束 2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 官方宣布 All good things must come to an end, and for the 1.x line of Spring Boot that means we will n...

Thinkingcao的专栏 830

深浅 第一,二章,springboot和环境搭建

引入依赖 <project xmlns="http://" > <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0...

qq120631157的博客 1674

Spring Boot 3.x 新特性详解:从基础到高级实战

特性说明优势JDK 17+ 基线最低要求Java 17利用现代Java特性如record、文本块等从javax迁移到jakarta命名空间符合最新企业标准改进的GraalVM支持更好的原生镜像支持更快的启动速度和更低的内存占用增强的Micrometer集成改进的指标收集更好的可观测性新的Problem Details API标准化的错误响应格式更好的API错误处理自动配置改进更智能的条件配置更精简的运行时代码步骤1:创建自动配置类/**

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2153

flowable不同版本对应的spring版本以及springboot版本

大家在使用flowable的时候,往往会优先根据自己的项目实际需求以及依赖的第三方库版本决定到底选用那个flowable版本。下面汇总下flowable重要的几个里程碑版本依赖的第三方版本库版本。 flowable6.0.0版本 aopalliance aopalliance 1.0 Public Domain com.carrotsearch hppc ...

分享牛 2万+

Spring Boot 学习总结(41)—— Spring Boot 为什么没有 3.6.0 版本

SpringBoot版本规划与4.0特性解析 SpringBoot采用三段式版本号规则(主.次.补丁),3.x系列将止步于3.5.x,2025年11月直接发布4.0版本。这一规划源于对SpringFramework6.x生命周期的严格对齐。当前生产推荐使用3.5.x最新补丁版(3.5.7)。 SpringBoot 4.0核心特性: 强制要求JDK21基线,深度整合虚拟线程技术,全场景默认启用 结构化并发原生支持,优化异步编程体验 启动速度提升35%,内存占用降低25% 原生镜像达到生产级可用标准 开发体验优

科技D人生 495

Unity半透明物体景深失效?教你用双材质球方案完美解决(附完整Shader代码)

本文深入剖析了Unity中半透明物体导致景深效果失效的根本原因,即半透明物体默认不写入摄像机深度图。针对此问题,文章详细介绍了稳定高效的“双材质球”解决方案,通过为物体附加一个仅写入深度信息的不可见材质,完美修复景深效果,并提供了完整的Shader代码与实现脚本。

weixin_29010003的博客 384

SpringBoot框架

1、SpringBoot框架SpringBoot简化了Spring应用的搭建和开发过程,去除了大量的XML配置文件,简化了复杂的依赖管理。Spring Boot 提供了大量开箱即用(out-of-the-box)的依赖模块,例如 spring-boot-starter-redis、spring-boot-starter-data-mongodb 和 spring-boot-starter-data-elasticsearch 等。...

qingmengrao的博客 2596

BAPI_OUTB_DELIVERY_CHANGE扩展指南:利用EXTENSION2与SMOD_V50B0001实现自定义字段更新

本文详细解析了如何利用BAPI_OUTB_DELIVERY_CHANGE的EXTENSION2参数与增强点SMOD_V50B0001,在不修改标准代码的前提下,安全、标准地更新SAP交货单的自定义字段。通过清晰的步骤指南和实战代码示例,帮助开发者掌握通过增强字段实现定制化业务需求的完整流程与调试技巧。

fanta的博客 451

snakeyaml升级2.0版本遇见的坑,解决办法

原因是因为Representer类的无参构成方法移出了,但是我们的springboot版本还在加载无参构造导致的报错。重写org.yaml.snakeyaml.representer包下的Representer类,增加无参构造方法。增加红框中的无参构造方法。

weixin_44981472的博客 2万+

STM32 SYSTICK定时器及延时函数详解

STM32 SYSTICK及延时函数详解 SysTick定时器 SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心

w1050321758的博客 2368

避坑指南:ShardingSphere连接达梦/金仓数据库时SQL解析器的那些‘坑‘

本文深入探讨了ShardingSphere与国产数据库(如达梦、金仓)集成时遇到的SQL解析器差异问题,提供了详细的解决方案和优化策略。通过分析SQL方言差异、JDBC实现差异及解析器兼容性,帮助开发者有效避坑,提升分布式数据库架构设计的效率与稳定性。

weixin_29309475的博客 392

springboot2稳定版本_再见 Spring Boot 1.X ,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维护到2019年8月1日。 1.5.x 将会是 Spring Boot 1.0 系列的最后一个大版本。如今 Spring Boot 1.X 版本最后将...

weixin_39844284的博客 360

VCSA安装使用和虚拟机数据迁移

VCSA(VMware vCenter Server Appliance)安装使用和虚拟机数据迁移是VMware虚拟化环境中常见的操作。准备工作:首先,确保已从VMware官网下载了正确版本的VCSA安装包。此外,应准备好安装所需的硬件资源,包括足够的CPU、内存和存储空间。安装过程:安装VCSA通常涉及挂载虚拟光驱或解压安装包,然后选择安装并输入相关信息,如ESXi主机的IP地址、用户名和密码,VCSA的虚拟机名称和root密码等。

weixin_68840588的博客 3377

再见 Spring Boot 1.X ,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。其实早在2018年7月30...

纯洁的微笑 1001

macOS 发票查验全攻略:从证书导入到Safari调试

本文详细介绍了在macOS上进行发票查验的全流程,包括证书下载、钥匙串访问导入、Safari浏览器调试等关键步骤。重点解决了验证码不显示等常见问题,提供了证书信任设置和开发者工具使用的实用技巧,帮助用户顺利完成税务发票在线查验。

weixin_29204749的博客 547

ICC2如何写出floorplan信息

不用-exclude 的话rows_tracks / vias /blockages / routing_rules信息都会写出去,即便用了-include {macro ports}也不行,所以不介意这些东西的话可以用以下两种种def方式去写floorplan。write_floorplan用法和write_def一样,因为写出来的文件夹里就包含def,用write_floorplan的好处和innovus saveFPlan一样,都能写出voltage area和bound信息。

m0_61544122的博客 1073

0x01 Spring Boot 2.x 之入门学习指南

如果你刚开始学习Spring Boot 或者Spring,那么应该从这篇博文开始阅读。 它会回答你 是什么?怎么做?为什么?这些基础性问题。它包含了Spring Boot的介绍,安装说明,然后会带你开始自己亲手创建一个Spring Boot 应用程序,顺便讲解一些用法规则。

极客星云-优快云博客 990

YOLO11改进|YOLO11中引入注意力和卷积融合模块CAFMAttention

YOLO11改进|YOLO11中引入注意力和卷积融合模块CAFMAttention

A1983Z的博客 1225

0x02. Spring Boot 3 之SpringBoot 版本升级最佳实践指南

Spring Boot 版本升级最佳实践

极客星云-优快云博客 9441

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VB摄像头监控

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

Spring Boot 2.X关于js、css无法正常显示样式以及Springboot1.X和Springboot2.X的SpringMVC扩展类问题

今天搞了一下Spring Boot,使用自动生成的,现在自动生成都是2.1.3的Spring Boot版本,与我在网上找的视频版本不是很一样。 刚开始还没有遇到有js/css样式的问题,就出现了一个这样的错: 发现这个jq文件找不到,然后我去pom文件中找了一下,发现没有导入相对应的jq依赖,Springboot官方是推荐使用webjars的 <!--引入jquer...

雨还在下的博客 867

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维护到2...

cidan4756的博客 177

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

是的,Spring Boot 3.0 的第一个快照版本发布了

Spring项目组昨天发布了基于Spring Framework 6.0快照版本的Spring Boot 3.0的第一个快照版本,但是快照版本并没有放出仓库地址。另外据透露下个月...

码农小胖哥 3584
上一篇: 【人工智能项目】LSTM实现数据预测分类实验
下一篇: 【Spring Boot2.0学习之旅-01-2】快速创建SpringBoot2.x应用之手工创建Web应用
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值