Spring Boot的创建和使用

2023-11-12

目录

什么是Spring Boot

Spring Boot的优点

Spring Boot项目的创建

通过idea创建Spring Boot项目

1.安装插件

2.new project

3.选择Spring Boot项目,选择合适的jdk版本,设置创建项目的源地址(默认strat.spring.io)

4.设置项目的参数

5. 选择Spring Boot版本,以及添加项目的外部依赖.

6.设置项目路径和保存的路径

7. 确保idea能够正常加载Spring Boot项目

8.运行启动类

网页版创建并备份到本地

1.在地址栏中输入start.spring.io并进入

2.选择配置信息

3.生成项目

4.生成压缩包

5.备份

删除四个无用文件

Spring Boot目录说明

 输出Hello world

 约定大于配置


什么是Spring Boot

Spring的诞生是为了简化Java程序的开发,而Spring Boot的诞生是为了简化Spring程序开发.

Spring Boot翻译过来就是Spring 脚手架.

我们在盖房子的时候就会用到脚手架. 脚手架的作用就是为了能够更加快速的盖房子.

所以说 Spring Boot就是一个为了快速开发和使用Spring的脚手架.


Spring Boot的优点

  • 快速的集成框架,Spring Boot提供了启动添加依赖的功能,用于秒级集成各种的框架.
  • 内置运行容器,无需配置Tomcat和Web容器,可以直接运行和部署程序.
  • 快速部署项目,无需外部容器即可启动并运行项目.
  • 抛弃繁琐的XML
  • 支持更多的监控指标,可以更加容易直观的观察到项目的运行情况.

Spring Boot项目的创建

1.可以通过idea创建(这也是主要的创建方式

  • 如果idea是专业版,那么无需任何的插件,可以直接创建Spring Boot项目.
  • 如果idea是社区版,需要安装Spring Boot Helper插件.(此插件在2022版本开始收费)

2.通过网页版创建


通过idea创建Spring Boot项目

这里以社区版为例:

1.安装插件

 安装完成之后变成如下名字:


2.new project

3.选择Spring Boot项目,选择合适的jdk版本,设置创建项目的源地址(默认strat.spring.io)

4.设置项目的参数

5. 选择Spring Boot版本,以及添加项目的外部依赖.

 

6.设置项目路径和保存的路径

 

7. 确保idea能够正常加载Spring Boot项目

 

 

 看到此图标说明项目已经初始化好了.

如果此过程中项目加载出错,那么大概率就是maven的国内源没有配置好,需要取配置maven的国内源.

8.运行启动类

如果控制台打印了启动所用的时间,并且debug没有中断,说明当前Spring Boot的项目已经创建好了.


网页版创建并备份到本地

1.在地址栏中输入start.spring.io并进入

2.选择配置信息

3.生成项目

 

4.生成压缩包

此时会下载一个demo.zip的压缩包到本地.

 

5.备份

我们可以将它复制到桌面上,留着备份,如果之后通过网页或者idea的方式创建不了的时候,我们就可以用本地备份的来创建Spring Boot项目.

 

解压缩到桌面, 在idea中打开此文件.

 

如果没有识别到Maven,就手动设置. 

 


删除四个无用文件

 

1,3,4是关于maven命令一些配置文件,因为idea已经内置了maven插件,所以我们使用idea提供的可视化工具操作即可.

2是一个帮助文档,项目创建会自动生成,删除即可.


Spring Boot目录说明

 


 输出Hello world

启动项目


 约定大于配置

这是Spring Boot项目的另一个特点,对⽐ Spring 的项⽬我们也可以看到这⼀特点,⽐如在 Spring 中也是要配置 Bean 的扫描路径的,⽽ Spring Boot 则不需要.

上述代码我们没有配置扫描路径,Spring Boot约定启动类所属的路径就是扫描路径,在这里base-package就是com.example.demo.

只有在这个目录下或者是子目录下的类才会去扫描. 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot的创建和使用 的相关文章

  • 在 IntelliJ 上进行 Google App Engine Java 开发?

    令人烦恼的是 Google App Engine 已成为其中的另一个项目 他们只发布 Eclipse 插件 如 Spring Webflow 而我更喜欢 IntelliJ 你能用IntelliJ成功运行本地测试环境吗 并调试 部署本地或实时
  • Javadoc 1.5 和 1.6 中缺少 enum.valueOf(String name)

    这可能是一个愚蠢的问题 但我正在使用该方法enum valueOf String name 那里没问题 只是当我检查 javadoc 以了解有关此方法的更多信息时 我找不到它 有javadoc用于valueOf Class
  • @OneToMany 与 @JoinTable 错误

    我试图理解 OneToMany with JoinTable 对于这样的场景 我正在使用 JPA 2 1 Hibernate 5 0 4 和 Oracle 11 XE 当我打电话时userDao save user 下面的代码 我有 jav
  • RSA SignatureException:签名长度不正确

    我在签署 rsa 签名时遇到问题 我有一个用私钥加密的签名 然而 当我尝试使用公钥验证它时遇到问题 我得到以下异常 java security SignatureException Signature length not correct
  • Java Spring 应用程序存在内存泄漏。系统非堆内存不断增加

    我已使用 yourkit 分析器监视我的 Web 应用程序 保留最大大小的主要对象是 SessionFactoryImpl webappclassloader 和 CGlib 对象显示 spring crone调度程序会导致内存泄漏吗 我尝
  • 如何将自定义日志处理程序添加到 Google App Engine?

    我正在尝试向我的 java 应用程序添加自定义日志处理程序 我已经实现了一个扩展 java util Logging Handler 类的 InnerLogger 类 在我的logging properties中声明为处理程序 handle
  • 支持通过 OAuth 进行 Facebook/Twitter 身份验证的 CAS 服务器

    我正在寻找一个支持 Facebook Twitter 通过 OAuth 进行单点登录身份验证的 CAS 服务器 我检查过 JASIG CAS 服务器 但它看起来不支持它们 我的 java web 应用程序基于 Spring Security
  • 从关卡堆栈中获取相对比例的数学

    为这个可怕的标题道歉 我花了 10 分钟试图用一句话来解释这一点 但失败了 虽然提示这个问题的应用程序是用Java Android 编写的 但我认为它非常通用并且适用于任何语言 欢迎使用伪代码 或简单的英语 回复 我不确定是否应该标记所有通
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • 如何制作无限的jscrollpane?

    我之前已经实现过拖动滚动 但是创建无限滚动窗格的最佳方法是什么 当然不会有任何滚动条 我将实现拖动滚动 我想做的是在无限表面上实现动态加载 EDIT 当然 它实际上不会是无限的 我想问如何伪造它 您可以执行以下操作 AdjustmentCl
  • Java元数据读写

    是否可以以通用方式 对于所有图像类型 在 Java 中读取和写入元数据 我找到了一些示例 但它们总是特定的 例如 JPEG 或 PNG 我需要一些足够通用的东西 而不是到处都有 if else 语句 我不想重写源代码 但这是一个很好的例子
  • SimpleDateFormat 将 lenient 设置为 false 时出现异常

    为什么这段代码会抛出无法解析日期的异常 SimpleDateFormat f new SimpleDateFormat yyyy MM dd T HH mm ss 000Z f setLenient false String dateStr
  • HTTP PUT 在 Java 中上传文件

    Edit 我想我已经弄清楚如何执行二进制数据部分 仔细检查代码 但我很确定我做对了 现在 当我尝试按照中所述完成上传时遇到新错误Vimeo API 文档 http vimeo com api docs upload streaming Ed
  • 我们可以使用 for-each 循环来迭代 Iterator 类型的对象吗? [复制]

    这个问题在这里已经有答案了 如果我们执行以下操作 我们会收到错误 class FGH public static Iterator reverse List list Collections reverse list return list
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • 读/写带有特殊字符的.txt文件

    I open Notepad Windows 并写 Some lines with special characters Special 并前往另存为 someFile txt 与Encoding set to UTF 8 在Java中我有
  • 方法签名中带或不带synchronized关键字的方法具有相同的字节码

    对于以下 2 个类 获得相同的 Java 字节码 java版本 java 版本 1 8 0 181 Java TM SE 运行时环境 构建 1 8 0 181 b13 Java HotSpot TM 64 位服务器 VM 内部版本 25 1
  • 将带有 webapp 的 WAR 部署到 Maven 中央存储库是否有意义?

    这样做有意义吗 如果是 我在哪里可以找到使用简单的 Web Hello World 执行此操作的示例 当人们从 Maven 执行 Web 应用程序时 他们会使用 Jetty 来运行它吗 我想 tomcat 太重了 任何帮助将不胜感激 谢谢
  • JMockit - 初始化问题

    当我使用以下测试时 我收到警告 警告 JMockit 是按需初始化的 这可能会导致某些测试失败 请检查文档以获取更好的初始化方法 这是我的测试实现 package test import static mockit Mockit impor
  • 编写自定义 Eclipse 调试器

    EDIT 一定有某种方法可以解决这个问题 而无需编写全新的调试器 我目前正在研究在现有 java 调试器之上构建的方法 如果有人对如何获取 Java 调试器已有的信息 有关堆栈帧 变量 原始数据等 有任何想法 那将非常有帮助 我想要做的是我

随机推荐

  • 突破Cloudflare验证码的秘密方法

    Cloudflare是一种广泛使用的验证码方式 它旨在取代传统的CAPTCHA 提供更简单 更私密的验证方式 以区分真实用户和机器人 然而 对于爬虫工程师而言 这也带来了一些挑战 理解Cloudflare验证码的工作原理 在突破Cloudf
  • 手把手带你理解Vue的列表渲染?

    概念 v for 指令基于一个数组来渲染一个列表 v for 指令需要使用 item in items 形式的特殊语法 其中 items 是源数据数组 而 item 则是被迭代的数组元素的别名 2 代码
  • 关于PN节为什么会形成电场

    这个问题我纠结了很久 后面终于弄明白了 来备注一下 防止下次又忘记了 首先 我们了解一下P型半导体和N型半导体 P型半导体 硅晶体在参入 3价元素 用硼来举例 后 硅原子会和硼原子形成共价键 形成共价键的原因我们不需要知道 就当它们发生了反
  • unity 第二次作业

    3D游戏设计 Unity 一 简答题 1 GameObject 和 Assets的区别和联系 是游戏中实实在在的游戏项目文件夹中所需要堆放的资源 比如 var obj Resource Load Prefabs testItem 这个obj
  • 23哈尔滨工程大学计算机电子信息复试经验

    哈尔滨工程大学计算机电子信息复试经验 0 前言 1 笔试 2 机试 2 1 备考分析 2 2 备考建议 3 面试 3 1 政治 3 2 英语 3 3 专业基础 3 4 工程项目 0 前言 今年的复试拖的太长了 复试要求 名单等迟迟不出 复试
  • React Hooks 使用详解

    本文对 16 8 版本之后 React 发布的新特性 Hooks 进行了详细讲解 并对一些常用的 Hooks 进行代码演示 希望可以对需要的朋友提供点帮助 一 Hooks 简介 Hooks 是 React v16 7 0 alpha 中加入
  • 多益网络校招笔试题(前端工程师)

    1 写出inline和inline block的差别 布局方式相同 唯一的区别在inline block可以设置宽高 inline不可以 另外 inline设置上下内边距和上下外边距会造成一些mess 详见 What is the diff
  • 源码编译安装部署LAMP平台(使用Apache,MySQL与PHP搭建Discuz论坛实例)

    文章目录 一 LAMP平台与编译安装 一 LAMP平台概述 二 构建LAMP平台顺序 二 编译安装的优点 三 各组件的主要作用 二 部署步骤 一 编译安装Apache httpd服务 二 编译安装mysqld 服务 三 编译安装PHP 解析
  • 一定能用到的简单但实用的五种按钮样式(HTML+CSS步骤详解,含详细注释)

    前言一 按钮在前端开发中往往是一个必不可少的元素 也有许多精美好看的样式资源供开发者直接使用 但博主认为 对于初学者而言 总是去cv别人做好的 而不理解其中的原理 是很不好的 本人作为一名计科的学生 在大二也选修了校内的前端基础教程的课 但
  • 【Blender学习】界面

    界面 改变语言 学习笔记 改变语言 将blender改变成中文可以通过一下步骤 1 选择Files gt user preference 2 选中右下角inernational Fonts里的inerface和tooltips 再选择lan
  • Xmake实战---xmake 与 vscode 集成环境使用

    xmake vscode 插件介绍 我们之前的所有实验 都是使用 xmake 的命令行程序在终端下操作完成的 这对于一些初学者来说还是有不少门槛的 并且操作起来也不能够像其它 IDE 等带有可视化界面的开发环境那样顺手 尤其是代码的编辑 编
  • 05-RabbitMQ之原生API使用

    使用RabbitMQ提供的原生客户端API进行交互 一 Maven依赖
  • Tailwind CSS入门(二)——基本介绍和特性

    上一篇文章简要的介绍了原子类CSS 以及个人对语义化 原子化的一些经验和理解 从这篇文章开始 正式开始分享Tailwind CSS的特性 使用和技巧 Tailwind CSS是一个为快速开发而精心设计的原子类CSS框架 在此我们将搭建一个V
  • Vivado初体验LED工程

    文章目录 前言 一 PL 和 PS 二 LED 硬件介绍 三 创建 Vivado 工程 四 创建 Verilog HDL 文件 五 添加管脚约束 六 添加时序约束 七 生成 BIT 文件 八 仿真测试 九 下载测试 前言 本节我们要做的是熟
  • 压力测试-JMeter安装、入门、结果分析

    目录 1 写在前面 2 常用压测工具 3 压测机环境准备 JMeter部署 3 1 JMeter下载安装 启动 配置 3 2 入门案例 3 2 3 压测结果解释 3 2 4 线程属性参数原理 1 写在前面 等到服务上线后 在业务压力的冲击下
  • 我的毕业论文

    摘要 信息时代的到来 给电子商务带来了无限活力 电子商务网站已经显示出欣欣向荣的繁荣景象 基于这一历史背景 本论文介绍了基于J2EE标准规范 并采用其推荐的实现技术JSP java server pages Servlet等对一个典型电子商
  • STM32串口中断ORE问题记录

    首先感谢 今天也迟到 提供的思路 原文博客如下 https blog csdn net qq 34401994 article details 76359581 背景 STM32F030芯片 485串口使用MDA 中断方式收发数据 问题 串
  • Selenium Python 框架之 BasePage页面封装写法

    coding utf 8 Time 2019 10 25 Author carl dj from public common log import Logger from config import globalparam from sel
  • python和java哪个更值得学?

    在编程界经常会引发一个讨论 就是python和Java哪个更值得学 Java语言具有跨平台的特性 在应用范围上有许多选择的余地 而Python在这几年的火热程度丝毫没有减退 个人观点 看学习的目的 如果想在互联网公司找个稳定的工作那就学习J
  • Spring Boot的创建和使用

    目录 什么是Spring Boot Spring Boot的优点 Spring Boot项目的创建 通过idea创建Spring Boot项目 1 安装插件 2 new project 3 选择Spring Boot项目 选择合适的jdk版