Spring Boot创建和使用(重要)

Spring的诞生是为了简化Java程序开发的!

Spring Boot的诞生是为了简化Spring程序开发的!

Spring Boot就是Spring框架的脚手架,为了快速开发Spring框架而诞生的!!

Spring Boot的优点:

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

接下来,我们来了解一下Spring Boot项目的创建吧!

1.通过IDEA创建(主要的创建方式)

专业版:无需任何插件,直接创建Spring Boot项目

社区版:安装插件——》Spring Boot Helper(从社区版2022开始收费,可以考虑使用社区版2021)

当然,对于Spring Boot Helper这个插件等安装好以后,就会发生奇迹般的改名了(插件一样)相当于小时候家长叫你:宁宁,长大了就得叫你全名了~~

安装前:Spring Boot Helper

安装后:Spring Initalizr and Assistant

下面,我们来看一下该插件的具体安装详情:

该插件,虽然标为付费,但如果你的IDEA为2021社区版,那么你就不用管他(付费)
插件,已经帮你找好了,至于怎么安装,点击OK🆗,这就不用教了吧!!

当你安装好该插件之后,进行重启即可!!(重启IDEA!!)

插件已经安装好,IDEA已经重启,那么,此时,当你重新new  project的时候,就会发现:

有一个Spring Initializr模块,当我们选择这个的时候,就是开始创建Spring Boot项目了,然后在选择合适的JDK版本(小编的是JDK1.8版本)

然后Next

注意:第一次创建Spring Boot项目的时候,需要联网,由于第一次创建SPring Boot项目,需要导入依赖,因此可能会出现转圈的状态,你不用担心,等一会便🆗了!

注意:在这里需要选择Maven,JDK的版本为1.8版本!!

该页面主要是添加对应的框架支持(必选)

因此,该页面总的选择需求为:

Next

最后在点击Finshed

完成!!

当你创建好Spring Boot项目之后:

删除该四个文件之后:

点击项目文件,右键:选中Add Framework Support…

在接下来的页面,选中Maven即可,然后点击Ok(该步操做,目的是添加Maven到Spring Boot项目中,当然,等你添加好以后,你就会在IDEA右侧发现Maven标识:

然后,通过Maven来进行刷新,重新导入依赖即可:

当然,对于该操作之后,如果还出现报错问题:

那么,你就需要访问Maven官网了:https://mvnrepository.com/该网址有点慢,请耐心等待

上述问题,主要出现在版本号上面的Bug

因此,我们在Maven中搜索:spring-boot-starter-parent

经过上述的操做之后,我们重新刷新Maven即可!!

当然,如果程序中右侧没有出现对应的Maven相应的图标,则说明当前IDEA没有识别当前的项目为Maven项目:

如果经过上述的几个步骤,发现还是报错,那么就是Maven国内源没有配置好,此时可以参考笔者文章:Spring的创建和使用-CSDN博客

那么,如何来判断Spring Boot项目已经正常创建成功了呢??

启动DemoApplication类main,当控制台打印了启动所用的时间,并且Debug没有中断,这就说明SPring Boot项目已经创建好了!

当然,对于创建Spring Boot项目的方式,也可以通过网页/阿里云的方式来进行创建,在这里本文便不做过多的详解,因为,小编也仅仅是了解过,但是,并没有真正创建过(99.99%的概率是从IDEA来进行创建,其他的时候,大概率是网断了等其他复杂情况,项目不能正常创建就会用之前创建好的SPring Boot项目来应对一下~)

接下来,我们来看一下Spring Boot项目中,剩余的文件,所代表的基本含义吧!

  • java:Java源码根路径(放置Java代码)
  • resources:资源文件和配置信息
  • templates:模板
  • application.prorerties:(整个)当前项目的配置文件
  • test:Java单元测试
  • target:当前项目的字节码,每次运行时,都会生成的文件(但是有时候会有缓存《——》删掉target,再让其重新生成即可(刷新Maven))
  • pom.xml:Maven配置文件(依赖信息)

经过上述的内容,我们也可以看出:Spring Boot的一个思想:约定大于配置!

既然我们已经创建好一个Spring Boot项目了,那么,便开始上手第一个Spring Boot代码吧:网页显示hello world

那么,请看笔者接下来的代码:

package com.example.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
@ResponseBody //加在类上,表示当前类中的所有方法返回的都是非静态页面的数据
public class TestController {@RequestMapping("/hello")public String sayHi(){return "hello world";}
}

运行上述的代码,我们在浏览器中输入:localhost:8080/hello,就会有着下述的运行结果:

这样看来,我们便成功的运行了一个Spring Boot的项目!


下篇文章,小编将会带领大家了解Spring Boot的配置文件和Spring日志文件相关的知识!!

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

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

相关文章

2023年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲…

MySQL 事务的底层原理和 MVCC(一)

在事务的实现机制上,MySQL 采用的是 WAL(Write-ahead logging,预写式日志)机制来实现的。 在使用 WAL 的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含 redo 和 undo 两部分信息。 …

【Java开发】 Springboot集成Mybatis-Flex

1 Mybatis-Flex 介绍 1.1简介 Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 亮点帮助我们极大的减少了 SQL 编写的工作的同时&#xff…

cocos2dx ​​Animate3D(二)

Twirl 扭曲旋转特效 // 持续时间(时间过后不会回到原来的样子) // 整个屏幕被分成几行几列 // 扭曲中心位置 // 扭曲的数量 // 振幅 static Twirl* create(float duration, const Size& gridSize, const Vec2& position, unsigned int twirls, float amplitude)…

基于springboot实现摄影跟拍预定管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现摄影跟拍预定管理系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要…

【2018年数据结构真题】

方法一 给定一个含n(n>1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。例如,数组{-5,3,2,3}中未出现的最小正整数是1;数组{1,2,…

AIGC变革BI行业,永洪发布vividime全球化品牌

大数据产业创新服务媒体 ——聚焦数据 改变商业 国内BI商业智能市场,一直有着“内永洪,外Tableau”的说法。成立于2012年的永洪科技经过十多年的发展,早已崛起为国内大数据行业的一支劲旅。 ChatGPT火爆出圈之后,AIGC快速渗透&am…

【C++】vector的介绍与使用

🧑‍🎓个人主页:简 料 🏆所属专栏:C 🏆个人社区:越努力越幸运社区 🏆简 介:简料简料,简单有料~在校大学生一枚,专注C/C/GO的干货分…

【Java 进阶篇】Redis 数据结构:轻松驾驭多样性

引言 Redis是一款强大的键值对存储系统,其数据结构的多样性是其引以为傲的特点之一。在这篇博客中,我们将深入探讨Redis的主要数据结构,包括字符串、哈希表、列表、集合和有序集合,并通过实例代码演示它们的用法。 1. 字符串&am…

在中国企业出海的大浪潮下,亚马逊云科技提供遍及全球的基础设施和技术支持

中国技术出海是中国企业更高层次更高质量的全球化。在人类文明发展史上,凝聚中国古人智慧结晶的造纸术、印刷术、火药、指南针等,曾为中国技术出海写下过浓墨重彩的一笔。在今天,如金山办公、店匠科技、ADVANCE.AI等公司又以技术立业&#xf…

msvcp140.dll是什么?msvcp140.dll丢失的有哪些解决方法

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题,我们需要采取一些措施来修复丢失的msvcp140.dll文件。本文将详细介绍5个解决msvcp140.dl…

Day27|Leetcode 39. 组合总和 Leetcode 40. 组合总和 II Leetcode131. 分割回文串

Leetcode 39. 组合总和 题目链接 39 组合总和 本题目和前面的组合问题差不多,只不过这里能重复选取数字,还是要注意组合的定义,交换数字顺序还是算一个组合,所以这里还是用我们的startIndex来记录取的数字到哪里了,下…

阿里云发送短信

官方代码如下: // This file is auto-generated, dont edit it. Thanks. package com.aliyun.sample;import com.aliyun.tea.*;public class Sample {/*** 使用AK&SK初始化账号Client* param accessKeyId* param accessKeySecret* return Client* throws Excep…

【电子通识】USB3.0和USB2.0有什么区别?

版本 USB2.0是2000年4月27日由USB-IF组织提出了USB2.0总线协议规范。 USB3.0是2008年11月17日由USB-IF组织提出了超高速USB3.0规范。 图标对比 USB2.0的标志就是和USB1.1的标志基本上没啥区别,还是以前的那个样子,使用黑色颜色用标识 USB3.0它有一个S…

计算机毕业设计 基于微信小程序的“共享书角”图书借还管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

pycurl>=7.43.0.5机器学习环境配置问题

去官网下载对应版本.whl文件,注意使用python --version提前查看 python版本信息和64bit还是32bit,下载对应版本。 cd 到该路径下,并pip。6

opengl制作天空盒

首先创建顶点数组 unsigned int m_uiVaoBufferID; glGenVertexArrays(1, &m_uiVaoBufferID); 然后创建顶点缓冲区 float skyboxVertices[] {// positions-1.0f, 1.0f, -1.0f,-1.0f, -1.0f, -1.0f,1.0f, -1.0f, -1.0f,1.0f, -1.0f, -1.0f,1.0f, 1.0f, -1.0f,-1.0f, 1.…

使用gin 代理 web网页

问web项目的代理,业界常用的方案是nginx做代理,这个是网上最多资料的。 因为我需要做自己的流量转发,也就是所有访问都要经过我的一个流量分发微服务,这和nginx作用冲突了。如果再加个nginx来做第一层方向代理和网页的静态资源代…

【C++干货铺】list的使用 | 模拟实现

个人主页点击直达:小白不是程序媛 C专栏:C干货铺 代码仓库:Gitee 目录 list的介绍及使用 list的介绍 list的使用 list的构造 list迭代器的使用 list的增删查改 list的模拟实现 结点的封装 迭代器的封装 list成员变量 构造函数 …

【大数据Hive】hive 优化策略之job任务优化

目录 一、前言 二、hive执行计划 2.1 hive explain简介 2.1.1 语法格式 2.1.2 查询计划阶段说明 2.2 操作演示 2.2.1 不加条件的查询计划分析 2.2.2 带条件的查询计划分析 三、MapReduce属性优化 3.1 本地模式 3.1.1 本地模式参数设置 3.1.2 本地模式操作演示 3.2 …