SpringBoot 快速入门(保姆级详细教程)

目录

一、Springboot简介

二、SpringBoot 优点:

三、快速入门

1、新建工程

方式2:使用Spring Initializr创建项目


写在前面:

SpringBoot 是 Spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。SpringBoot化繁为简,使开发变得更加的简单迅速。

一、Springboot简介

SpringBoot 是由 Pivotat 团队提供的全新框架,其设计的目的就是为了简化 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不在需要定义样板的配置。

SpringBoot官网:https://spring.io/projects/spring-boot/

Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序。

Spring Boot 基于 Spring 开发 Spring Boot 本身并不提供 spring 框架的核心特性以及扩展功能,只是用于快速敏捷地开发新一代基于 Spring 框架的应用程序。Spring Boot 以 约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置,集合可以零配置开箱即用

约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计范式

简单来说就是Spring Boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,Spring Boot整合了所有的框架 。

二、SpringBoot 优点:

  1. 快速创建独立运行的Spring项目以及与主流框架集成、

  2. 使用嵌入式的Servlet容器,应用无需打成WAR包

  3. Starters自动依赖与版本控制

  4. 大量的自动配置,简化开发,也可修改默认值

  5. 无需配置XML,无代码生成,开箱即用

  6. 准生产环境的运行时应用监控

  7. 与云计算的天然集成

三、快速入门

方式1:使用IDEA创建项目(推荐)

1、新建工程

1.在菜单点击 File >New >Project 创建一个新的 Spring Intiializr 项目

国内的阿里镜像:https://start.aliyun.com/

经过以上步骤后就创建了如下结构的模块,它会帮我们自动生成一个 Application 类

2.创建 Conroller 控制器

package com.javaclass.demo.controller;
​
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
​
@RestController
@RequestMapping("/hello")
public class HelloWordController {
​@GetMapping("/world")public String world(){return "JAVA学习课堂,欢迎您!!";}
}

3.启动服务:

运行 SpringBoot 工程不再需要使用本地的 Tomcat ,因为 SpringBoot 内置了 Tomcat,只需要运行项目下的 Application 启动类即可。

 通过上面的入门案例我们可以看到使用 SpringBoot 进行开发,使整个开发变得很简单。

pom.xml 配置文件中的内容详解

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.JAVAClass</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version></properties><dependencies><!--该依赖就是我们在创建 SpringBoot 工程勾选的那个 Spring Web 产生的--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
​<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
​<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><!--这个插件是在打包时需要的--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.javaclass.demo.SpringBootDemoApplication</mainClass><skip>true</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
​
</project>

Spring和SpringBoot对比

方式2:使用Spring Initializr创建项目

官网地址如下:https://start.spring.io/

然后操作与在Idea中类似,创建完成后会生成一个文件夹压缩包,打开即可,与Idea创建的一模一样

关注 JAVA学习课堂 微信公众号,获取更多学习笔记。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

delphi屏幕分辩率及缩放自适应解决方案

以下在win10上做的测试&#xff0c;win7未试验&#xff0c;有需要的可以自行测试。 首先应用程序Application.Manifest中设置为&#xff1a;per Monitor V2. 不然有可能窗体收不到屏幕变动通知。 Delphi10.4版本中&#xff0c;窗体有Scaled属性&#xff0c;true为默认&#x…

Linux第十一章:Samba文件共享服务

实验案例&#xff1a;构建Samba文件共享服务器 1、实验环境 根据公司信息化建设要求&#xff0c;公司需要在局域网内部搭建一台文件服务器&#xff0c;便于对数据的集中管理和备份。考虑服务器的运行效率及稳定性、安全性问题&#xff0c;选择在Centos系统中构建Samba服务器以…

Bootloader -- U-Boot 介绍

Bootloader -- U-Boot 介绍 1 介绍1.1 概述1.2 知名 BootloaderLILO (Linux Loader)GRUB (GNU GRand Unified Bootloader)LoadlinROLO (Rockbox Loader)EtherbootLinuxBIOS (现在叫 coreboot)BLOBU-BootRedBoot 1.3 BootLoader 和 Monitor 区别1.4 U-Boot 的源码结构1.5 U-Boot…

idea导入文件里面的子模块maven未识别处理解决办法

1、File → Project Structure → 点击“Modules” → 点击“” → “Import Model” 2、可以看到很多子模块&#xff0c;选择子模块下的 pom.xml 文件导入一个一个点累死了&#xff0c;父目录下也没有pom文件 解决办法&#xff1a;找到子模块中有一个pom.xml文件&#xff0c;…

数据迁移到 Django 模型表:详尽指南

数据迁移是许多应用程序开发过程中必不可少的一部分。在这篇文章中&#xff0c;我们将详细分析和总结如何通过一个定制的 Django 管理命令&#xff0c;将数据从 MySQL 数据库迁移到 Django 模型表中。这种方法可以确保数据在多个数据库之间有效且安全地迁移&#xff0c;同时避免…

PHP基础之错误与异常

文章目录 1 错误1.1 简介1.2 简单错误处理1.2.1 使用die1.2.2 die和exit区别 1.3 自定义错误处理1.3.1 定义1.3.2 创建错误函数 1.4 触发错误1.5 抑制错误1.5.1 行内错误抑制 2 异常2.1 引言2.2 什么是异常2.3 Try、throw、catch、finally2.4 自定义异常2.5 设置顶层异常处理器…

colima配置docker镜像源

只在 colima ssh 环境下修改 docker 配置文件是无效的&#xff0c;我们需要修改 colima 配置文件才能使 docker 镜像源生效。 此时你需要进入到~/.colima/default目录下编辑colima.yaml文件。该文件是 colima 的配置文件。内容如下图所示&#xff0c;我这里配置了许多家的镜像源…

读者写者问题(读者优先、公平竞争、写者优先)

1.读者优先 当有读者进程进行读时&#xff0c;允许多个读者同时读&#xff0c;但不允许写者写&#xff1b;当有写者进程进行写时&#xff0c;不允许其他写者写&#xff0c;也不允许读者读 读者算法&#xff1a; p(r_mutex); //申请修改read_count if read_count0:p(mutex); …

【区分vue2和vue3下的element UI Descriptions 描述列表组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Element UI&#xff08;为 Vue 2 设计&#xff09;和 Element Plus&#xff08;为 Vue 3 设计&#xff09;中&#xff0c;Descriptions&#xff08;描述列表&#xff09;组件通常用于展示一系列的结构化信息。然而&#xff0c;需要明确的是&#xff0c;Element UI 官方库中并…

快速排序总结

标准模版 交换法 单函数法 public static void quickSort(int[] arr, int start, int end) {if (start > end) {return;}int idx start;int pivot arr[idx];int left start, right end;while (left < right) {while (left < right && arr[right] > …

VB.net-提取视频中音频

如果想用VB.NET开发一个提取视频中的音频这样的程序,需要使用到媒体处理库,比如NAudio或者FFmpeg。FFmpeg是一个功能强大的开源媒体处理库,支持多种媒体格式,并提供了丰富的命令行工具和库接口。 下面是一个使用FFmpeg命令行工具从视频中提取音频的VB.NET示例程序。 首先…

rockchip linux sdk指定编译配置文件

SDK&#xff1a;rk3568_linux4.19_V1.4.0 硬件平台&#xff1a;RK3566 一、指定板级配置文件 板级配置文件在<SDK>/device/rockchip/rk3566_rk3568目录下。 1、方法1 ./build.sh后⾯加上板级配置⽂件&#xff0c;例如&#xff1a; ./build.sh /device/rockchip/rk3…

es深分页问题解决小记

SpringBoot整合SpringDataElasticsearch ElasticsearchRestTemplate使用 ElasticSearch的scroll滚动查询以及在Springboot中的使用 ES三种查询 问题描述 在分页查询中&#xff0c;当查询数据总量超过10000时&#xff0c;es为了避免大量数据加载到内存导致内存溢出默认情况下…

vmware虚拟机安装ubuntu20.04

1.下载Ubuntu 20.04的ISO镜像 Index of /ubuntu-releases/ 2.安装VMware 3.创建新的虚拟机&#xff1a;打开VMware&#xff0c;选择“创建新的虚拟机”或通过文件菜单新建虚拟机。 4.选择典型&#xff0c;然点点击下一步&#xff1a; 5.选择稍后安装操作系统&#xff1a; 6.…

密码学及其应用 —— 密码学概述

1 安全属性和机制 1.1 基本概念 1.1.1 三个核心概念 在讨论信息安全时&#xff0c;我们通常会谈到三个核心概念&#xff1a;保密性、完整性和可用性。这三个概念共同构成了信息安全的基础。 保密性&#xff1a;指的是确保信息只能被授权的人员访问。这就意味着信息在存储、传…

jnp.diag

jnp.diag 是 JAX 库中用于创建对角矩阵或提取对角线元素的函数。具体功能取决于输入的形状&#xff1a; 当输入是一维数组时&#xff0c;jnp.diag 创建一个以该数组为对角线元素的对角矩阵。当输入是二维数组时&#xff0c;jnp.diag 提取并返回对角线元素。 函数签名 jnp.di…

【软件工程】【22.04】p1

关键字&#xff1a; 软件需求规约基本性质、数据字典构成、内聚程度最高功能内聚、公有属性、RUP实体类、评审、测试序列、软件确认过程、CMMI能力等级 软件需求分类、DFD数据流图组成&#xff08;实体&#xff09;、经典详细设计、数据耦合、关联多重性、状态图、黑盒测试、…

【LinuxC语言】进程间的通信——管道

文章目录 前言不同进程间通信的方式管道匿名管道和命名管道半双工与全双工管道相关函数创建管道总结前言 在Linux操作系统中,进程是执行中的程序的实例。每个进程都有自己的地址空间,数据栈以及其他用于跟踪进程执行的辅助数据。操作系统管理这些进程,并通过调度算法来分享…

设计模式——设计模式原则

设计模式 设计模式示例代码库地址&#xff1a; https://gitee.com/Jasonpupil/designPatterns 设计模式原则 单一职责原则&#xff08;SPS&#xff09;&#xff1a; 又称单一功能原则&#xff0c;面向对象五个基本原则&#xff08;SOLID&#xff09;之一 原则定义&#xf…

tinyxml

github下载相关的软件包&#xff0c;其中有四个文件需要主要需要关注就是分别是tinyxml12.cpp&#xff0c;tinyxml12.h&#xff0c;rss网页xml文件&#xff0c;还有就是官方给的test文件tinyxmltest.cpp。 example1就是提供一个打开文件的方式 int example_1() {XMLDocument …