SpringBoot【一】零基础入门 springboot 及 idea 搭建

一、前言

  • springboot是什么?

        Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

        该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

  • 使用spring boot有什么好处?
  1. 快速创建独立运行的Spring项目以及与主流框架集成
  2. 嵌入的Tomcat,无需打包成WAR包
  3. starters自动依赖与版本控制
  4. 大量自动配置,简化开发,也可修改默认值
  5. 无需配置xml,无代码生成,开箱即用

        ...

简言之就是整个Spring技术栈的整合,来简化Spring应用开发,约定大于配置,去繁从简,just run 就能创建一个独立的,产品级别的应用。

说了那么多,手痒痒的很,马上来一发试试!

二、正文

方式一:

maven构建项目,去spring官网拿现成的demo

  1. start.spring.io/
  2. 选择构建工具Maven Project、java、Spring Boot版本以及一些工程基本信息,java版本选择1.8,可参考下图所示:选择完后直接点击EXplore;

3、直接点击下载即可;

4、然后解压出来,bug菌用的是idea编辑器,点击open打开你刚才下载的demo。你们也可使用自己习惯的编辑器,这里就不多赘述了。

5、瞅瞅!如果加载不出来的,可以右边选择maven->刷新一下

6、下面我们在ide中打开工程,这里使用的ide是idea,这样一个springboot项目就成型了,但是缺点东西,有些依赖没有配置,那就手动给它加上吧!工程的目录结构为:

方式二:

1、你们也可以徒手搭建一个springboot demo;比如就使用idea,非常方便,选择spring initialization创建SpringBoot项目即可。如下图

2、要注意的就是选择好你环境配置的jdk版本;然后一路next;最后打开;跟第一种官网下载的一样;如下是目录结构;

3、好啦;我们就得到了一个直接可执行的 Web 应用,接着怎么运行呢?这肯定直接是运行不了的,还差点火候;

1、pom加上如下依赖;

<dependencies>    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>  </dependency>
</dependencies>

2、配置文件配置运行端口号

server.port=8080

3、选择DemoApplication文件然后直接右键选择 run application 就可以直接启动一个使用了嵌入式 tomcat 服务请求的 Web 应用;

4、如上打印即表示运行成功啦;

只不过,我们还没有提供任何服务 Web 请求的 Controller,所以,访问任何路径都会返回一个 SpringBoot 默认提供的错误页面(一般称其为 whitelabel error page),我们可以在当前项目下新建一个服务根路径 Web 请求的 Controller 实现:

@RestController
@RequestMapping("/test")
public class TestController {@GetMapping( "/hello")public String index() {return "Hello World!";}
}

5、访问http://localhost:8080/test/hello 

6、能看到正常打印了“Hello World!”。证明springboot项目雏形已成。接着想怎么玩就怎么玩啦。

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

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

相关文章

Grule前端表单post后端执行grule引擎规则

Grule前端表单post后端执行grule引擎规则 编写前端表单和后端接口 编写test.go执行grule引擎规则 示例都是 go test 执行的测试代码&#xff0c;所以将里面的测试代码去除 由于之前 NumberExponentExample_test.go 已经验证可运行, 所以将 err 的异常处理去除 package mai…

文献补充材料怎么查找下载

最近很多同学求助问补充文献怎么查找下载&#xff0c;补充文献一般会在文献的详情页&#xff0c;参考文献的上面。需要注意以下这些词汇&#xff1a;Supplementary data、Supplementary material、Appendix、Supplementary Information、Appendix A. Supplementary data、suppl…

上传ssh公钥到目标服务器

创建密钥 ssh-keygen -t rsa -b 4096 -C "xxxx.xx"上传 sudo ssh-copy-id -i /Users/xx/.ssh/id_rsa.pub root127.0.0.1

工作bug,keil5编译器,理解int 类型函数返回值问题,详解!!!

编写不易&#xff0c;禁止搬运&#xff0c;仅供学习&#xff0c;感谢理解 问题现象 下面是一个在keil5里面写的一个&#xff0c;int类型的返回值函数&#xff0c;这个函数里面&#xff0c;只有if else if else这三个判断条件语句&#xff0c;正常来说任何情况下&#xff0c;…

PHP语法学习(第七天)-循环语句,魔术常量

老套路了&#xff0c;朋友们&#xff0c;先回忆昨天讲的内容PHP语法学习(第六天)主要讲了PHP中的if…else语句、关联数组以及数组排序。 想要学习更多PHP语法相关内容点击“PHP专栏&#xff01;” 下列代码都是在PHP在线测试运行环境中得到的&#xff01;&#xff01; 还记得电…

ue5 motion matching

ue5.5 gameanimationsample 先看动画蓝图 核心两个node 第一个是根据数据选择当前的pose 第二个是缓存一段历史记录&#xff0c;为第一个node选择的时候提供数据。 在animinstance的update方法中 每帧都更新这个函数&#xff0c;每帧更新trajectory的数据 看看第一个node的…

【推导过程】常用共轭先验分布

文章目录 相关教程相关文献常用共轭先验分布预备知识贝叶斯统计后验分布的计算 正态均值(方差已知)的共轭先验分布是正态分布二项分布中的成功概率 θ 的共轭先验分布是贝塔分布正态均值(方差已知)的共轭先验分布是倒伽玛分布 作者&#xff1a;小猪快跑 基础数学&计算数学&…

消息队列(MQ):系统解耦与异步通信的利器

在现代分布式系统架构中&#xff0c;消息队列&#xff08;Message Queue&#xff0c;简称 MQ&#xff09;扮演着极为重要的角色。它作为一种中间件&#xff0c;能够有效地解决系统之间的耦合性问题&#xff0c;并实现高效的异步通信&#xff0c;极大地提升了系统的整体性能、可…

YOLO系列发展历程:从YOLOv1到YOLO11,目标检测技术的革新与突破

文章目录 前言一、YOLOv1&#xff1a;单阶段目标检测的开端二、YOLOv2&#xff1a;更精准的实时检测三、YOLOv3&#xff1a;阶梯特征融合四、YOLOv4&#xff1a;性能和速度的新平衡五、YOLOv5&#xff1a;易用性和扩展性的加强六、YOLOv6&#xff1a;工业部署的利器七、YOLOv7&…

ConcurrentLinkedQueue<>实现生产者-消费者问题理解和简易demo

1.ConcurrentLinkedQueue<> ConcurrentLinkedQueue 是 Java 中的一个线程安全的无界队列实现。它基于无锁&#xff08;lock-free&#xff09;的算法&#xff0c;采用了一个高效的、非阻塞的、可伸缩并发控制机制。这使得在高并发场景下能够实现较高的吞吐量。 无界性质…

【单元测试】单元测试介绍

1 单元测试基础 1.单元测试&#xff1a;单元测试又称模块测试&#xff0c;属于白盒测试&#xff0c;是最小单位的测试。模块分为程序模块和功能模块。功能模块指实现了一个完整功能的模块&#xff08;单元&#xff09;&#xff0c;一个完整的程序单元具备输入、加工和输出三个…

React废弃componentWillMount和componentWillReceiveProps这两个生命周期方法

React废弃componentWillMount和componentWillReceiveProps这两个生命周期方法的原因主要涉及到React的内部机制变更、性能优化以及未来特性的支持。以下是对这两个问题的详细解答&#xff1a; 废弃componentWillMount的原因 异步渲染的引入&#xff1a; React 16开始引入了异步…

RabbitMQ 实现分组消费满足服务器集群部署

实现思路 使用扇出交换机&#xff08;Fanout Exchange&#xff09;&#xff1a;扇出交换机会将消息广播到所有绑定的队列&#xff0c;确保每个消费者组都能接收到相同的消息。为每个消费者组创建独立的队列&#xff1a;每个消费者组拥有自己的队列&#xff0c;所有属于该组的消…

开发 UEFI 驱动

服务型驱动的特点&#xff1a; 1&#xff09;在 Image 的入口函数中执行安装&#xff1b; 2&#xff09;服务型驱动不需要驱动特定硬件&#xff0c;可以安装到任意控制器上&#xff1b; 3&#xff09;没有提供卸载函数。 一个设备 / 总线驱动程序在安装时首先要找到对应的硬件…

《Python密码算法例程》

《Python密码算法例程》 一、哈希算法&#xff08;以MD5为例&#xff0c;虽然MD5安全性存在缺陷&#xff0c;但常用于简单示例&#xff09;1. 计算字符串的MD5哈希值2. 更安全的哈希算法 - SHA - 256 二、对称加密算法&#xff08;以AES为例&#xff09;1. AES加密和解密简单示…

java时间处理SimpleDateFormat详解

文章目录 常用构造函数日期格式模式常见用法1. 格式化日期2. 解析日期字符串 注意事项示例扩展&#xff1a;指定区域和时区 SimpleDateFormat 是 Java 中用于日期和时间格式化的类&#xff0c;属于 java.text 包。它允许开发者将日期对象格式化为字符串&#xff0c;或者将字符…

夜莺运维指南之故障自愈

注意: 夜莺v7版本已内置故障自愈, 只需要更给n9e下的config.yaml 文件有关ibex配置即可 所谓的告警自愈&#xff0c;典型手段是在告警触发时自动回调某个 webhook 地址&#xff0c;在这个 webhook 里写告警自愈的逻辑&#xff0c;夜莺默认支持这种方式。另外&#xff0c;夜莺还…

【oracle】大数据删除插入

文章目录 引言本文目标 Oracle大数据插入操作插入操作的场景和需求使用并行查询进行数据插入示例代码&#xff1a;创建新表并插入数据解释代码中的关键点 性能优化建议 Oracle大数据删除操作删除操作的场景和需求使用游标和批量处理进行数据删除示例代码&#xff1a;批量删除数…

深入浅出:序列化与反序列化的全面解析

文章目录 1. 引言2. 什么是序列化&#xff1f;2.1 为什么需要序列化&#xff1f; 3. 什么是反序列化&#xff1f;3.1 反序列化的重要性 4. 序列化与反序列化的实现4.1 JSON (JavaScript Object Notation)4.2 XML (eXtensible Markup Language)4.3 Protocol Buffers (Protobuf)4…

Windows命令行使用技巧(持续更新)

删除指定目录下指定后缀的文件 重要的事情说在前面&#xff1a;不能恢复&#xff0c;谨慎操作 今天大意了&#xff0c;导出sql文件的时候没指定目录&#xff0c;默认放到桌面上了&#xff0c;看着桌面上密密麻麻的sql文件&#xff0c;我人傻了&#xff0c;一个一个删不是办法…