快速上手SpringBoot
黑马程序员Spring Boot2
文章目录
- 1、SpringBoot 入门程序开发
- 1.1 创建一个新的项目
- 2、浅谈入门程序工作原理
- 2.1 parent
- 2.2 starter
- 2.3 引导类
- 2.4 内嵌tomcat
1、SpringBoot 入门程序开发
1.1 创建一个新的项目
- file > new > project > empty Project

- 创建新模块,选择Spring Initializer ,并配置模块相关基础信息。在新建的项目上右键new > Module


- 选择当前模块所需要使用的技术集

- 创建完成后的项目结构

- 开发控制器类

package com.itheima.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {@GetMappingpublic String getById(){System.out.println("springboot is running...");return "springboot is running...";}
}
- 运行生成的Application类

- 最简单的SpringBoot程序所包含的基础文件
- pom.xml 文件
- Application 类
- idea中隐藏指定文件或指定类型的文件
- Setting > File Types > Ignore Files and Folders
- 输入要隐藏的文件名,支持*号通配符
- 回车确认添加

2、浅谈入门程序工作原理
2.1 parent
- 开发SpringBoot程序要继承spring-boot-starter-parent
- spring-boot-starter-parent 中定义了若干个依赖管理
- 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
- 继承parent的形式也可以采用引入依赖的形式实现效果
2.2 starter
- start
- SpringBoot中常见项目名称,定义了当前项目使用的所有以来坐标,已达到减少以来配置的目的
- 开发SpringBoot陈谷需要导入坐标时通常导入对应的starter
- 每个不同的starter根据功能不同,通常包含多个以来坐标
- 使用starter可以实现快速配置的效果,达到简化配置的目的
- parent
- 所有springboot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),已达到减少以来冲突的目的
- spring-boot-starter-parent 个版本间存在着诸多坐标版本不同
- 实际开发
- 使用任意坐标时,金属屑GAV中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V
- 如发生坐标错误,在指定Version(要小心版本冲突)
2.3 引导类
- 我们的程序配置完毕了,想运行靠呢?----引导类
- SpringBoot工程提供引导类用来启动程序
- SpringBoot工程启动后创建并初始化Spring容器
- SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目
- SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean
2.4 内嵌tomcat
- 内嵌tomcat服务器是SpringBoot辅助功能之一
- 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
- 变更内嵌服务器思想是去除现有服务器,添加全新的服务器
- 内置服务器有
- tomcat(默认)
- jetty
- undertow
相关文章:
快速上手SpringBoot
黑马程序员Spring Boot2 文章目录 1、SpringBoot 入门程序开发1.1 创建一个新的项目 2、浅谈入门程序工作原理2.1 parent2.2 starter2.3 引导类2.4 内嵌tomcat 1、SpringBoot 入门程序开发 1.1 创建一个新的项目 file > new > project > empty Project 创建新模块&a…...
SQL 快速参考
SQL 快速参考 SQL(Structured Query Language)是一种用于管理关系数据库管理系统(RDBMS)的标准编程语言。它用于执行各种操作,如查询、更新、插入和删除数据库中的数据。本快速参考将提供SQL的基本语法和常用命令&…...
Cask ‘oraclexxx‘ is unavailable: No Cask with this name exists.
brew search oracle-jdk或brew search --cask oracle-jdk 原因:Homebrew官方仓库不再维护多个旧版本的OracleJDK 不推荐使用Homebrew环境安装JDK //指定版本安装 brew install --cask temurin17 //设置 JAVA_HOME 环境变量 //找到安装的JDK 版本的路径 /usr/lib…...
2024年武汉市中级、高级职称水测考试开卷方法分享
2024年武汉市(除开东湖高新区外)职称首次组织全员水测,先考水测后报名,水测报名在5月16号截止。 武汉市水测组织形式: 武汉市2024年专业技术职务水平能力测试分为笔试和面试,面试答辩有关事项另行通知&…...
计算机网络(6) ICMP协议
ICMP(Internet Control Message Protocol,互联网控制消息协议)是一种用于在IP网络中传递控制消息和错误报告的协议。ICMP是IP协议族的一部分,尽管它并不用于传输用户数据,但它在网络诊断和管理中起着关键作用。以下是关…...
FuTalk设计周刊-Vol.036
🔥AI漫谈 热点捕手 1、Stable Zero123:从单张图像生成高质量 3D 对象 Stable Zero123 可以生成物体的新颖视图,展示从各个角度对物体外观的 3D 理解,由于训练数据集和高程条件的改进,其质量比 Zero1-to-3 或 Zero123-XL 显著提高…...
Java——面向对象进阶(三)
前言: 抽象类,接口,内部类 文章目录 一、抽象类1.1 抽象方法1.2 抽象类1.3 抽象类的使用 二、 接口2.1 接口的定义和实现2.2 default 关键字2.3 实现接口时遇到的问题 三、内部类3.1 成员内部类3.2 静态内部类3.3 成员内部类3.4 匿名内部类&a…...
鸿蒙开发电话服务:【@ohos.telephony.observer (observer)】
observer 说明: 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import observer from ohos.telephony.observerobserver.on(‘networkStateChange’) on(type: ‘networkStateChange’, ca…...
希亦、追觅、云鲸洗地机:究竟有何不同?选择哪款更合适
最近收到很多私信里,要求洗地机测评的呼声特别高,作为宠粉的测评博主,当然是马上安排起来,满足大家对想看洗地机的愿望。这次洗地机测评,我挑选了三款热门的品牌型号,并从多个维度对它们进行使用测评&#…...
代码随想录算法训练营第二十六天
题目:455. 分发饼干 贪心第一题 这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。或者小饼干先喂饱小胃口 首先要对 g 和 s进行排序这样才能知道最大的胃口和最大的饼干然后进行遍历即可…...
[面试题]Java【并发】
[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL 因为 Java 并发涉及到的内容会非常多,本面试题可能很难覆盖到所有的知识点,所以推荐 《Java并发编程的艺术》 。 Java 线程 线程 通知 等待 线…...
基于VSCode和MinGW-w64搭建LVGL模拟开发环境
目录 概述 1 运行环境 1.1 版本信息 1.2 软件安装 1.2.1 下载安装VS Code 1.2.1.1 下载软件 1.2.1.1 安装软件 1.2.2 下载安装MinGW-w64 1.2.2.1 下载软件 1.2.2.2 安装软件 1.2.3 下载安装SDL 1.2.3.1 下载软件 1.2.3.2 安装软件 1.2.4 下载安装CMake 1.2.4.…...
H5112B 降压恒流芯片12V24V36V48V60V72V100V 1.2ALED 调光无频闪光滑细腻
H5112B多功能LED恒流驱动器是一款具有良好性能与高度集成度的驱动芯片。以下是该产品的主要优点及应用领域的详细分析: 产品优点: 宽电压输入范围:H5112B支持5V至90V的宽电压输入范围,使其能够适应多种不同的电源环境࿰…...
真心建议大家冲一冲新兴领域,工资高前景好【大模型NLP开发篇】
前言 从ChatGPT到新近的GPT-4,GPT模型的发展表明,AI正在向着“类⼈化”⽅向迅速发展。 GPT-4具备深度阅读和识图能⼒,能够出⾊地通过专业考试并完成复杂指令,向⼈类引以为傲的“创造⼒”发起挑战。 现有的就业结构即将发⽣重⼤变…...
深度剖析淘宝扭蛋机源码:打造趣味性电商活动的秘诀
在当今电商市场中,如何吸引用户的注意力、提升用户的参与度成为了各大电商平台竞相追求的目标。淘宝扭蛋机作为一种新型的电商活动形式,以其趣味性和互动性深受用户喜爱。本文将深度剖析淘宝扭蛋机源码,探讨其如何打造趣味性与互动性并存的电…...
vue3+优化vue-baidu-map中marker点过多导致的页面卡顿问题
场景: 移动端h5中,当我们需要在地图中展示很多marker点坐标的时候,通常会使用 bm-marker ,去循环生成marker点,在数量不多的情况下是没问题的,但是随着数据量的增加,地图就会变得卡顿,以及渲染延…...
PMS助力制造企业高效运营︱PMO大会
全国PMO专业人士年度盛会 北京易贝恩项目管理科技有限公司副总经理朱洪泽女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“PMS助力制造企业高效运营”。大会将于6月29-30日在北京举办,敬请关注! 议题简要: …...
认识一些分布-关于极值点分布的一些知识
可以参考下面资料: Extreme Value Distribution & the Extreme Value Theory - Statistics How To...
Anaconda环境安装失败的解决方案
链接步骤的补充。 为了运行marlib,需要一个全新的Anaconda环境。但是,不想把文件安装在C盘,会造成空间不足。于是试着在.condarc文件里面改动了路径,具体如图。 上图中,在defaults前面添加了D盘的路径作为安装路径。 …...
mac 本地启动rocketmq
Mac 本地起rocketmq 官网下载:RocketMq官网下载地址 下载后解压 如果电脑配置不高或者不希望rocketmq占用太大内存的,修改配置/bin/runbroker.sh JAVA_OPT"${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"-Xmx4g 初始堆大小 4g -Xms4g 最大…...
苏州晟雅泰电子的主营业务及应用领域和优势产品有哪些
苏州晟雅泰电子有限公司(SUNTEC)的主营业务是研发生产和代理销售网络变压器等磁性元器件。其核心产品和技术广泛应用于网络通讯、安防监控和服务器/数据中心等领域。🔑 主营业务与核心产品该公司深耕磁性元器件领域,具体产品和服务…...
接手遗留系统第一周,我做了三件事,团队从此不再怕改老代码
刚跳槽到新公司,技术总监在入职谈话时递给我一杯咖啡,语气沉重地说:“我们最核心的交易系统已经跑了八年,负责它的老张去年离职了。现在整个团队没人敢动里面的代码,每次改需求都像在拆炸弹。”他停顿了一下࿰…...
对比直接使用原厂 API 体验 Taotoken 在模型选型上的便捷性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用原厂 API 体验 Taotoken 在模型选型上的便捷性 当开发者需要评估不同大模型的能力以适配具体项目时,通常会…...
Arm Neoverse CMN-650架构与缓存一致性协议解析
1. Arm Neoverse CMN-650架构概述在现代多核处理器设计中,缓存一致性互连网络是决定系统扩展性和性能的关键组件。Arm Neoverse CMN-650作为第二代Coherent Mesh Network解决方案,采用了创新的分布式目录协议和优化的传输机制,能够支持多达12…...
TortoiseSvn与TortoiseGit:从零开始的安装与汉化实战指南
1. TortoiseSvn与TortoiseGit:版本控制界的"瑞士军刀" 第一次接触代码版本管理时,我完全被命令行劝退了。直到发现了TortoiseSvn和TortoiseGit这两个神器——它们就像给Windows资源管理器装上了版本控制的"外挂",所有操作…...
Agentica:模块化AI智能体框架的设计、实现与生产部署指南
1. 项目概述:当AI智能体遇上开源协作最近在AI智能体这个圈子里,一个名为“Agentica”的项目开始引起不少开发者的注意。它不是一个单一的AI应用,而是一个由wrtnlabs团队发起的开源项目,旨在构建一个模块化、可扩展的AI智能体框架。…...
TV Bro电视浏览器革命性突破:让Android电视变身智能上网终端
TV Bro电视浏览器革命性突破:让Android电视变身智能上网终端 【免费下载链接】tv-bro Simple web browser for android optimized to use with TV remote 项目地址: https://gitcode.com/gh_mirrors/tv/tv-bro 您是否曾在大屏幕电视前感到手足无措࿱…...
模块四-数据转换与操作——29. 透视表与交叉表
29. 透视表与交叉表 1. 概述 透视表(Pivot Table)和交叉表(Crosstab)是数据汇总的强大工具,类似于 Excel 中的数据透视表。它们可以将数据按照行和列进行分组聚合,快速生成汇总报表。 import pandas as …...
三维姿态表达:从欧拉角、旋转矩阵到四元数的工程实践
1. 三维姿态表达的基础概念 在三维空间中描述物体的姿态(orientation)是许多工程领域的核心需求,无论是卫星姿态控制、机器人运动规划,还是游戏开发中的角色动画,都需要精确的姿态表达方式。姿态描述的本质是回答一个问…...
AI驱动个人网站生成器:基于Next.js与OpenAI的配置化数字名片
1. 项目概述:一个AI驱动的个人数字名片最近在折腾个人品牌和在线展示,发现了一个挺有意思的开源项目:zachlagden/iamjarvis.xyz。这本质上是一个基于AI的个人网站生成器,或者说,是一个高度定制化的“数字名片”。它的核…...
