iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >SpringBoot技术快速入门
  • 437
分享到

SpringBoot技术快速入门

springbootjavaspring 2023-09-02 13:09:14 437人浏览 泡泡鱼
摘要

   目录 目录 Spring Boot是什么 Spring Boot 的特点 配置开发环境 创建 Spring Boot 项目 Maven 创建Spring Boot 项目 Spring Initializr 创建SpringBoot项目

  

目录

目录

Spring Boot是什么

Spring Boot 的特点

配置开发环境

创建 Spring Boot 项目

Maven 创建Spring Boot 项目

Spring Initializr 创建SpringBoot项目

启动 Spring Boot

Spring Boot starter入门

SpringBoot基本设置

6.1SpringBoot设置端口号

6.2SpringBoot设置项目名

6.3SpringBoot配置文件的拆分

6.4SpringBoot开启日志

6.5SpringBoot实现热部署

6.6SpringBoot开启分页查询

springBoot对象管理

springBoot整合JSP

SpringBoot整合MyBatis


Spring Boot是什么

众所周知 spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称为“配置地狱”。

为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源框架,它就是 Spring Boot。

Spring Boot 具有 Spring 一切优秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加简单,功能更加丰富,性能更加稳定而健壮。随着近些年来微服务技术的流行,Spring Boot 也成为了时下炙手可热的技术。

Spring Boot 的特点

Spring Boot 具有以下特点:

独立运行的 Spring 项目

Spring Boot 可以以 jar 包的形式独立运行,Spring Boot 项目只需通过命令“ java–jar xx.jar” 即可运行。

内嵌 Servlet 容器

Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包

提供 starter 简化 Maven 配置

Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。

提供了大量的自动配置

Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

自带应用监控

Spring Boot 可以对正在运行的项目提供监控。

无代码生成和 xml 配置

Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。

配置开发环境

在使用 Spring Boot 进行开发之前,第一件事就是配置好开发环境。工欲善其事,必先利其器,IDE(集成开发环境)的选择相当重要,目前市面上有很多优秀的 IDE 开发工具,例如 IntelliJ idea、Spring Tools、Visual Studio Code 和 Eclipse 等等,那么我们该如何选择呢?

这里我们极力推荐大家使用 IntelliJ IDEA,因为相比于与其他 IDE,IntelliJ IDEA 对 Spring Boot 提供了更好的支持。Spring Boot 版本及其环境配置要求如下表

创建 Spring Boot 项目

开发环境配置完成后,接下来,我们就可以通过 Intellij IDEA 创建一个 Spring Boot 项目了。 Intellij IDEA 一般可以通过两种方式创建 Spring Boot 项目:

  • 使用 Maven 创建

  • 使用 Spring Initializr 创建

Maven 创建Spring Boot 项目

  1. 在 IntelliJ IDEA 欢迎页面左侧选择 Project ,然后在右侧选择 New Project,如下图

或者在 IntelliJ IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单中中选中 New,然后选择 Project,如下图

在左侧的选项中选择 Maven,勾选 Create from archetype 选项,然后在下面选择合适的 Maven Archetype(模型),最后点击下方的 Next 按钮,如下图

注意:此处我们也可以不勾选 Create from archetype 选项,直接点击下方的 Next 按钮,直接创建一个简单的 Maven 项目

  1. 如图 7 所示,展开 Artifact Coordinates ,分别输入项目名称(name)、存储位置(Location)、GroupId、ArtifactId 以及 Version 等信息,信息输入完成后,点击 Next 按钮

在该页面可以设置 Maven 的主目录和本地仓库信息,除此之外,我们还可以在下面的属性(Properties)列表中,检查和修改项目的信息。配置完成后,点击 Finish 按钮,完成项目的创建  

返回 IntelliJ IDEA 工作区,会发现 Maven 项目创建完成,其目录结构如图 9 所示。

在该 Maven 项目的 pom.xml 中添加以下配置,导入 Spring Boot 相关的依赖  

 

在 cn.kGC.SpringBoot包下,创建一个名为 HelloWorldApplication 主程序,用来启动 Spring Boot 应用,代码如下

Spring Initializr 创建SpringBoot项目

IntelliJ IDEA 支持用户使用 Spring 项目创建向导(Spring Initializr )快速地创建一个 Spring Boot 项目,步骤如下

在 IntelliJ IDEA 欢迎页面左侧选择 Project ,然后在右侧选择 New Project,如下图

或者在 IntelliJ IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单中选则 New,然后选择 Project,如下图

 2.在新建工程界面左侧,选择 Spring Initializr,选择项目的 SDK 为 1.8,选择 starter service URL 为 http://start.spring.io/(默认),最后点击下方的 Next 按钮进行下一步

IDEA 会连接网络,并根据 starter service URL 查询 Spring Boot 的当前可用版本和组件列表,如下图

在 Spring Initializr Project Settings 中,输入项目的 GroupId、ArtifactId 等内容,注意 Type 为 Maven,packaging 为 jar,Java version 切换为 8(默认为 11),最后点击下方的 Next 按钮,进行下一步  

在 dependencise 界面中,选择 Spring Boot 的版本及所依赖的 Spring Boot 组件(例如 Spring Boot 的版本为 2.4.5, Spring Boot 组件为 WEB),然后点击下方的 Next 按钮  

根据需要修改项目名称及项目存储位置等信息,最后点击 Finish 按钮,完成 Spring Boot 项目的创建,如下图

返回 IDEA 工作区,可以看到 Spring Boot 项目 helloworld 已经创建完成。该项目不但具有完整的目录结构,还有完整的 Maven 配置,并默认生成了一个名为 HelloworldApplication 的主启动程序

此时,几乎所有的准备工作都已经准备就绪,我们可以在没有编写任何代码的情况下,直接将该 Spring Boot 项目运行起来。

启动 Spring Boot

默认情况下,Spring Boot 项目会创建一个名为 ***Application 的主程序启动类 ,该类中使用了一个组合注解 @SpringBootApplication,用来开启 Spring Boot 的自动配置,另外该启动类中包含一个 main() 方法,用来启动该项目。直接运行启动类 HelloworldApplication 中的 main() 方法,便可以启动该项目,结果如下图

注意:Spring Boot 内部集成了 Tomcat,不需要人为手动配置 Tomcat,开发者只需要关注具体的业务逻辑即可。

为了能比较的清楚的看到效果,我们在 cn.kgc.springboot 包下又创建一个 controller 包,并在该包内创建一个名为 HelloController 的 Controller,代码如下

重启 Spring Boot 项目,然后在地址栏访问 “http://localhost:8080/hello”,结果如下图

Spring Boot starter入门

传统的 Spring 项目想要运行,不仅需要导入各种依赖,还要对各种 XML 配置文件进行配置,十分繁琐,但 Spring Boot 项目在创建完成后,即使不编写任何代码,不进行任何配置也能够直接运行,这都要归功于 Spring Boot 的 starter 机制

Spring Boot 将日常企业应用研发中的各种场景都抽取出来,做成一个个的 starter(启动器),starter 中整合了该场景下各种可能用到的依赖,用户只需要在 Maven 中引入 starter 依赖,SpringBoot 就能自动扫描到要加载的信息并启动相应的默认配置。starter 提供了大量的自动配置,让用户摆脱了处理各种依赖和配置的困扰。所有这些 starter 都遵循着约定成俗的默认配置,并允许用户调整这些配置,即遵循“约定大于配置”的原则

并不是所有的 starter 都是由 Spring Boot 官方提供的,也有部分 starter 是第三方技术厂商提供的,例如 druid-spring-boot-starter 和 mybatis-spring-boot-starter 等等。当然也存在个别第三方技术,Spring Boot 官方没提供 starter,第三方技术厂商也没有提供 starter

以 spring-boot-starter-web 为例,它能够为提供 Web 开发场景所需要的几乎所有依赖,因此在使用 Spring Boot 开发 Web 项目时,只需要引入该 Starter 即可,而不需要额外导入 Web 服务器和其他的 Web 依赖

您可能会发现一个问题,即在以上 pom.xml 的配置中,引入依赖 spring-boot-starter-web 时,并没有指明其版本(version),但在依赖树中,我们却看到所有的依赖都具有版本信息,那么这些版本信息是在哪里控制的呢?

其实,这些版本信息是由 spring-boot-starter-parent(版本仲裁中心) 统一控制的。

spring-boot-starter-parent

spring-boot-starter-parent 是所有 Spring Boot 项目的父级依赖,它被称为 Spring Boot 的版本仲裁中心,可以对项目内的部分常用依赖进行统一管理。

Spring Boot 项目可以通过继承 spring-boot-starter-parent 来获得一些合理的默认配置,它主要提供了以下特性:

  • 默认 jdk 版本(Java 8)

  • 默认字符集(UTF-8)

  • 依赖管理功能

  • 资源过滤

  • 默认插件配置

  • 识别 application.properties 和 application.yml 类型的配置文件

SpringBoot基本设置

6.1SpringBoot设置端口号

server:  port: 8989 #配置端口

6.2SpringBoot设置项目名

server:  servlet:    context-path: /springboot   #配置项目的虚拟路径(根路径) 项目名使用/开头

6.3SpringBoot配置文件的拆分

spring:  profiles:    active: dev  #开发环境    

6.4SpringBoot开启日志

6.5SpringBoot实现热部署

在web项目的开放过程中,通常我们每次修改完代码都需要重新启动项目,实现重新部署。但是随着项目越来越庞大,每次启动都是一个费时的事情。所以,热部署是一个非常构建的技术,有了热部署,可以极大提高我们的开发效率

spring-boot-devtools实现热部署

引入依赖

配置maven插件

配置application.yml文件

修改idea设置

File-Settings-Compiler 勾选 Build Project automatically

设置ReGIStry

ctrl + shift + alt + / ,选择Registry,勾选Compiler autoMake allow when app running

6.6SpringBoot开启分页查询

引入依赖

配置application.yml文件(可以不配置使用默认)

  

编写控制器,业务层,持久化层进行测试

springBoot对象管理

  • 管理对象

    spring中管理对象的方式:

    使用xml配置文件,在文件中使用bean标签设置对象的管理

使用注解 @Component @Controller @Service @Repository

springboot管理对象的方式:

使用配置方式创建对象

springboot支持使用@Configuration注解添加在配置类上,该类作为一个配置类,相当于spring的配置文件,该注解只能使用在类上。在配置类中方法上使用@Bean注解,相当于spring配置文件中的bean标签

  • 使用原始的spring注解 @Component @Controller @Service @Repository

  • 属性注入

    spring 原始的注入方式

    set方式

    constructor

    自动注入

对象的注入

注意:添加一下依赖,可以再写yaml文件时提示,消除红色的警告提示。

springBoot整合jsP

引入依赖

 

配置视图解析器

 

设置不重启项目 刷新jsp页面  

集成后无法访问jsp页面解决方案

添加插件

 

设置工作目录

 

插件启动

 

SpringBoot整合MyBatis

 

 

 

 

今天的分享就到此结束了

创作不易点赞评论互关三连

 

来源地址:https://blog.csdn.net/swy2560666141/article/details/129801080

--结束END--

本文标题: SpringBoot技术快速入门

本文链接: https://www.lsjlt.com/news/390805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot技术快速入门
       目录 目录 Spring Boot是什么 Spring Boot 的特点 配置开发环境 创建 Spring Boot 项目 Maven 创建Spring Boot 项目 Spring Initializr 创建SpringBoot项目...
    99+
    2023-09-02
    spring boot java spring
  • SpringBoot快速入门
    文章目录 1,SpringBoot简介1.1 SpringBoot快速入门1.1.1 开发步骤1.1.1.1 创建新模块1.1.1.2 创建 `Controller`1.1.1.3 启动服务器...
    99+
    2023-10-27
    spring boot spring java
  • SpringBoot快速入门详解
    Spring Boot是什么? Spring Boot并不是什么新的框架,它是对Spring的缺点进行了改善和优化,Spring Boot默认了很多的框架使用方式,像maven整合了...
    99+
    2024-04-02
  • Springboot快速入门教程
    入门Springboot 项目创建在IDEA中创建即可。 注意点: 1、所有文件都需要放在 : Application文件的同级或下级目录中 2、application.proper...
    99+
    2024-04-02
  • SpringBoot MyBatis简单快速入门例子
    目录一、MyBatis简介二、MyBatis使用步骤一、MyBatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除...
    99+
    2024-04-02
  • Python3快速入门
    Python3快速入门Python3快速入门(一)——Python简介https://blog.51cto.com/9291927/2385592Python3快速入门(二)——Python3基础https://blog.51cto.com...
    99+
    2023-01-31
    入门 快速
  • python 快速入门
         导入 #from dir1 import test #import dir1.test as test 列表推到: b3 =[x for x in xing if x in ming] print(b3)  li ...
    99+
    2023-01-31
    入门 快速 python
  • JavaScript快速入门
    目录 1.概述 2.引入方式 3.调试 4.基础语法 4.1.变量 4.2.常量 4.3.运算符 ​编辑 4.4.流程控制 4.4.1.顺序 4.4.2.判断 4.4.3.循环 4.5.对象 4.6.数组 4.7.函数 5.高级特性 1...
    99+
    2023-10-28
    javascript 前端 开发语言 原力计划
  • Linux 开发技术和 Go 学习笔记:如何快速入门?
    随着互联网行业的飞速发展,Linux 开发技术和 Go 编程语言成为了越来越多开发者的必备技能。本文将为大家介绍如何快速入门 Linux 开发技术和 Go 编程语言,并穿插演示代码,帮助大家更好地理解和掌握相关知识。 一、Linux 开发...
    99+
    2023-11-02
    学习笔记 linux 开发技术
  • SpringBoot+Vue项目新手快速入门指南
    目录1. 项目技术选型2.数据库设计3. 后台搭建3.1 引入依赖3.2 swagger配置3.3实体类3.4 自动填充配置3.5 Mapper3.6 service3.7 cont...
    99+
    2024-04-02
  • SendPkt快速入门[Python]
    SendPkt快速入门作者:gashero电邮:harry.python@gmail.com原文地址:http://gashero.yeax.com/p=26项目主页:http://sendpkt.googlecode.com日期:2007...
    99+
    2023-01-31
    入门 快速 SendPkt
  • python3.x 快速入门
    Edit the > 2018/6/15 11:26:53 1认识Python 人生苦短,我用python - 优雅,明确,简单 是python设计哲学 - python的设计目标之一, 是让代码具备高度的可阅读性 ...
    99+
    2023-01-31
    入门 快速
  • FastAPI--快速入门(1)
    FastAPI 是一个高性能 Web 框架,用于构建 API。主要特性:快速:非常高的性能,与 NodeJS 和 Go 相当快速编码:将功能开发速度提高约 200% 至 300%更少的错误:减少约 40% 的人为错误直观:强大的编辑器支持,...
    99+
    2023-01-31
    入门 快速 FastAPI
  • K8s该快速入门
    这篇文章将为大家详细讲解有关K8s该快速入门,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。通过一个业务发展的故事,分享 K8s 出现的原因以及它的运作方式。...
    99+
    2024-04-02
  • JDBC | JDBC快速入门
    👑 博主简介:    🥇 Java领域新星创作者    🥇 阿里云开发者社区专家博主、星级博主、技术博主 🤝 交流社区:BoBoo...
    99+
    2023-09-20
    1024程序员节 java mysql
  • COM技术入门(3)
    (1)COM组件注册卸载与智能指针一COM组件注册和卸载1.Regsvr32.exe命令是用来对"Active控件"进行注册的命令格式注册 Regsvr32 路径/名称.dll  卸载  Regsvr32 /u 路径/名称.dll2.ATL...
    99+
    2023-01-31
    入门 技术
  • SparkSQL使用快速入门
    目录一、SparkSQL的进化之路二、认识SparkSQL2.1 什么是SparkSQL2.2 SparkSQL的作用2.3 运行原理2.4 特点2.5 SparkSession2....
    99+
    2024-04-02
  • Python3快速入门(四)——Pyth
    一、Python包简介 1、包 Python中使用包管理模块,包通常对应一个目录,必须在目录下创建一个init.py模块,init.py模块的模块名称即为包名,Python才会将目录解析为包。init.py文件内可以定义初始化包的内容,导...
    99+
    2023-01-31
    入门 快速 Pyth
  • Python3快速入门(八)——Pyth
    1、JSON简介 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。 2、json模块简介 Python3 中可以使用 json 模块来对 JSON 数据...
    99+
    2023-01-31
    入门 快速 Pyth
  • Python3快速入门(一)——Pyth
    一、Python简介 1、Python简介 Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,由荷兰Guido van Rossum于1989年底发明,第一个公开发行版于1991年发布,Python源代码遵循 GPL(G...
    99+
    2023-01-31
    入门 快速 Pyth
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作