当前位置: 首页 > news >正文

快速上手SpringBoot

黑马程序员Spring Boot2

文章目录

  • 1、SpringBoot 入门程序开发
    • 1.1 创建一个新的项目
  • 2、浅谈入门程序工作原理
    • 2.1 parent
    • 2.2 starter
    • 2.3 引导类
    • 2.4 内嵌tomcat

1、SpringBoot 入门程序开发

1.1 创建一个新的项目

  1. file > new > project > empty Project
    在这里插入图片描述
  2. 创建新模块,选择Spring Initializer ,并配置模块相关基础信息。在新建的项目上右键new > Module
    在这里插入图片描述
    在这里插入图片描述
  3. 选择当前模块所需要使用的技术集
    在这里插入图片描述
  4. 创建完成后的项目结构
    在这里插入图片描述
  5. 开发控制器类
    在这里插入图片描述
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...";}
}
  1. 运行生成的Application类
    在这里插入图片描述
  2. 最简单的SpringBoot程序所包含的基础文件
    • pom.xml 文件
    • Application 类
  3. idea中隐藏指定文件或指定类型的文件
    • Setting > File Types > Ignore Files and Folders
    • 输入要隐藏的文件名,支持*号通配符
    • 回车确认添加
      在这里插入图片描述

2、浅谈入门程序工作原理

2.1 parent

  1. 开发SpringBoot程序要继承spring-boot-starter-parent
  2. spring-boot-starter-parent 中定义了若干个依赖管理
  3. 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
  4. 继承parent的形式也可以采用引入依赖的形式实现效果

2.2 starter

  1. start
    • SpringBoot中常见项目名称,定义了当前项目使用的所有以来坐标,已达到减少以来配置的目的
    • 开发SpringBoot陈谷需要导入坐标时通常导入对应的starter
    • 每个不同的starter根据功能不同,通常包含多个以来坐标
    • 使用starter可以实现快速配置的效果,达到简化配置的目的
  2. parent
    • 所有springboot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),已达到减少以来冲突的目的
    • spring-boot-starter-parent 个版本间存在着诸多坐标版本不同
  3. 实际开发
    • 使用任意坐标时,金属屑GAV中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V
    • 如发生坐标错误,在指定Version(要小心版本冲突)

2.3 引导类

  • 我们的程序配置完毕了,想运行靠呢?----引导类
  • SpringBoot工程提供引导类用来启动程序
  • SpringBoot工程启动后创建并初始化Spring容器
  1. SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目
  2. SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean

2.4 内嵌tomcat

  1. 内嵌tomcat服务器是SpringBoot辅助功能之一
  2. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
  3. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器
  4. 内置服务器有
    • tomcat(默认)
    • jetty
    • undertow
http://www.lryc.cn/news/372828.html

相关文章:

  • SQL 快速参考
  • Cask ‘oraclexxx‘ is unavailable: No Cask with this name exists.
  • 2024年武汉市中级、高级职称水测考试开卷方法分享
  • 计算机网络(6) ICMP协议
  • FuTalk设计周刊-Vol.036
  • Java——面向对象进阶(三)
  • 鸿蒙开发电话服务:【@ohos.telephony.observer (observer)】
  • 希亦、追觅、云鲸洗地机:究竟有何不同?选择哪款更合适
  • 代码随想录算法训练营第二十六天
  • [面试题]Java【并发】
  • 基于VSCode和MinGW-w64搭建LVGL模拟开发环境
  • H5112B 降压恒流芯片12V24V36V48V60V72V100V 1.2ALED 调光无频闪光滑细腻
  • 真心建议大家冲一冲新兴领域,工资高前景好【大模型NLP开发篇】
  • 深度剖析淘宝扭蛋机源码:打造趣味性电商活动的秘诀
  • vue3+优化vue-baidu-map中marker点过多导致的页面卡顿问题
  • PMS助力制造企业高效运营︱PMO大会
  • 认识一些分布-关于极值点分布的一些知识
  • Anaconda环境安装失败的解决方案
  • mac 本地启动rocketmq
  • 数据资产管理的未来趋势:洞察技术前沿,探讨数据资产管理在云计算、大数据、区块链等新技术下的发展趋势
  • lwip中server和client的socket、地址和端口号
  • 代码随想录算法训练营Day38|动态规划理论基础、2.斐波那契数、3.爬楼梯、4.使用最小花费爬楼梯
  • IIC通信总线
  • 2024 年最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
  • git原理解释,windows 10 / ubuntu 24.04 安装使用 github
  • requests post json/data;requests response 接收不同数据
  • 【qt】平面CAD(计算机辅助设计 )项目 上
  • C++中bool类型的使用细节
  • Java 面向对象 -- Java 语言的封装、继承、多态、内部类和 Object 类
  • 【C++】和【预训练模型】实现【机器学习】【图像分类】的终极指南