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

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学习课堂 微信公众号,获取更多学习笔记。

相关文章:

  • 迈巴赫S480升级增强现实AR抬头显示hud比普通抬头显示HUD更好用吗
  • 如何基于Redis实现分布式锁?
  • 物理层(二)
  • 华为HCIP Datacom H12-821 卷6
  • Chromium 开发指南2024 Mac篇-开始编译Chromium(五)
  • 【LinuxC语言】进程间的通信——管道
  • a multiple definition link error when using gcc10.3.1
  • 关于HTTP劫持,该如何理解、防范和应对
  • 『这世界上有无忧无虑的孩子,和永远焦虑的父母』
  • 使用ESP32和Flask框架实现温湿度数据监测系统
  • AI音乐大模型时代:版权归属与创意产业的新生长点
  • 华为---OSPF单区域配置(一)
  • KaTex在博客中显示数学公式
  • CPU飙升100%怎么办?字节跳动面试官告诉你答案!
  • LeetCode26. 删除有序数组中的重复项题解
  • 2017届校招提前批面试回顾
  • docker python 配置
  • echarts花样作死的坑
  • javascript数组去重/查找/插入/删除
  • Puppeteer:浏览器控制器
  • Selenium实战教程系列(二)---元素定位
  • spring + angular 实现导出excel
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • unity如何实现一个固定宽度的orthagraphic相机
  • 和 || 运算
  • 基于web的全景—— Pannellum小试
  • 开源SQL-on-Hadoop系统一览
  • 前言-如何学习区块链
  • 如何设计一个微型分布式架构?
  • 通信类
  • 网络应用优化——时延与带宽
  • 一个JAVA程序员成长之路分享
  • 你对linux中grep命令知道多少?
  • Java性能优化之JVM GC(垃圾回收机制)
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​如何在iOS手机上查看应用日志
  • #图像处理
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • ()、[]、{}、(())、[[]]命令替换
  • (06)金属布线——为半导体注入生命的连接
  • (12)目标检测_SSD基于pytorch搭建代码
  • (4) PIVOT 和 UPIVOT 的使用
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)详解PHP处理密码的几种方式
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • **python多态
  • .gitattributes 文件
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net中间语言BeforeFieldInit
  • .Net转Java自学之路—基础巩固篇十三(集合)