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

news2025/1/10 23:27:33

一、前言

  • 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.coloradmin.cn/o/2257071.html

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

相关文章

2024年超大跨径钢结构桥梁创新技术论坛暨钢桥联盟年度工作会议顺利召开

12月5日&#xff0c;由中交公路规划设计院有限公司、装配化钢结构桥梁产业技术创新战略联盟主办&#xff0c;保利长大工程有限公司、中交第二航务工程局有限公司、中交第二公路工程局有限公司、中交路桥建设有限公司、中交西安筑路机械有限公司、南京现代综合交通实验室、巨力锁…

win10上部署win11记事本

win10上部署win11记事本 原因 win10的老用户们, 不肯升级win11, 绝对是有留恋的东西吧,就想win7用户那样, 但是win11在日益更新, 特别是记事本, 增加了很多好用的功能, 比如多标签页, 但是不想升级win11, 还想用, 怎么办? 我在网上找到了解决方案, 接下来, 我们来操作一下吧…

记录:ubuntu24.04源码安装nginx

一. 下载Nginx源码 两个地址二选一即可 Nginx官网Nginx官网 Github eg&#xff1a;nginx-1.27.3.tar.gz 下载到 ubuntu24.04 的 Downloads &#xff0c;解压 cd Downloads tar -zxvf nginx-1.27.3.tar.gz二. 编译安装 Note: 编译最好用 root 权限&#xff0c; 使用下面命令…

【前端】深入理解 JavaScript 中的数组与对象

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;数组与对象的基本概念数组&#xff08;Array&#xff09;数组示例 对象&#xff08;Object&#xff09;对象示例 &#x1f4af;数组与对象的对比核心区别如何选择&#…

31.下一个排列 python

下一个排列 题目题目描述示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a;提示&#xff1a;题目链接 题解解题思路python实现代码解释&#xff1a;提交结果 题目 题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3…

Codeforces Round 992 (Div. 2)

这场cf只在b卡了一下&#xff0c;因为b真是犯蠢了&#xff0c;我以为会向下取整&#xff0c;结果是完全就不取整&#xff0c;或者说是向上取整&#xff0c;卡了我半个小时&#xff0c;要不是紧急看了题一下&#xff0c;昨天那场就毁了 话不多说&#xff0c;直接开讲 A. Game …

vue入门实战(二)父子组件显示,参数传递

经过上次的写法&#xff0c;我们已经写出每个list项&#xff0c;现在要在每个父组件下面加入自己的子项 一、新建子组件&#xff1a; smallItem.vue&#xff1a; <script> export default{props:[text,id,status] //父组件传来的参数 } </script> <template>…

批量验证指定漏洞思路和流程

免责申明 本文仅是用于学习研究POC的地址收集与漏洞验证原理,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》【学法时习之丨网络安全在身边一图了解网络安…

Android 事件分发机制详解/ 及Activity启动流程浅谈

目前网上的事件分发机制文章很多&#xff0c;可能大家看了很多&#xff0c;还是很懵逼&#xff0c;这篇文章是我自己总结的事件分发机制&#xff0c;提取了在事件分发机制中&#xff0c;最精华的部分&#xff0c;如果对事件分发还是不太清楚&#xff0c;可以看看这篇文章 更多…

蓝桥杯刷题日记02-小球反弹

问题描述 有一长方形&#xff0c;长为 343720343720 单位长度&#xff0c;宽为 233333233333 单位长度。在其内部左上角顶点有一小球 (无视其体积)&#xff0c;其初速度如图所示且保持运动速率不变&#xff0c;分解到长宽两个方向上的速率之比为 dx:dy15:17dx:dy15:17。小球碰…

SkyWalking 和 ELK 链路追踪实战

一、背景 最近在给项目搭建日志平台的时候&#xff0c;采用的方案是 SkyWalking ELK 日志平台&#xff0c;但发现 ELK 日志平台中的日志没有 Trace ID&#xff0c;导致无法追踪代码报错的整体链路。 空哥提示&#xff1a;Trace ID 是分布式追踪中用来唯一标识一个服务请求或事…

Ubuntu22.04深度学习环境安装【cuda+cudnn】

为了复现一篇深度学习论文&#xff0c;特意安装了Linux系统。前一天已经安装Linux显卡驱动&#xff0c;现在需要安装cuda、cudnn等。 论文代码 论文PDF 确定包版本&#xff1a; 根据论文提供的代码。在requirements.txt中发现cuda版本为11.7,cudnn为8.5.0&#xff0c;python没…

ue5 motion matching

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

mycat2 分库分表

mycat2读写分离 mysql主从复制 mycat2 分库分表 实在 配置mycat2 读写分离 及主从复制的基础上完成的 以下所有操作 在mycat 登录后执行 一、配置分库分表数据源 name:数据名称 一般以以最后一个字母判断 r 是读 w是写 url&#xff1a; 真实数据源ip地址 理论上是每一个ip都…

python pandas数据处理,对比两个xlsx文档的两列数据做对比匹配,然后复制单元格值

1&#xff0c;文档数据 文档A 批次编号编号风险等级意见ps001code1低风险同意ps001code2中风险同意ps001code3低风险同意ps001code4低风险同意ps001code5低风险同意ps001code6低风险同意ps002code11低风险同意ps002code12中风险否决ps002code13低风险否决ps002code14低风险否决…

Pytorch 手写数字识别 深度学习基础分享

本篇是一次内部分享&#xff0c;给项目开发的同事分享什么是深度学习。用最简单的手写数字识别做例子&#xff0c;讲解了大概的原理。 手写数字识别 展示首先数字识别项目的使用。项目实现过程: 训练出模型准备html手写板flask 框架搭建简单后端 简单手写数字识别 深度学习必…

WPS EXCEL 使用 WPS宏编辑器 写32位十六进制数据转换为浮点小数的公式。

新建EXCLE文件 另存为xlsm格式的文件 先打开WPS的开发工具中的宏编辑器 宏编辑器编译环境 在工作区添加函数并编译&#xff0c;如果有错误会有弹窗提示&#xff0c;如果没有错误则不会弹 函数名字 ”HEXTOFLOAT“ 可以自己修改。 function HEXTOFLOAT(hex) { // 将十六…

沃丰科技智能客服在跨境电商独立站中的核心角色

随着全球化进程的加速和互联网技术的不断发展&#xff0c;跨境电商行业蓬勃兴起&#xff0c;为消费者提供了更广阔、更便捷的购物选择。在这样一个竞争激烈的市场环境中&#xff0c;优质的客户服务成为了企业脱颖而出的关键。沃丰科技智能客服凭借其先进的技术和人性化的设计理…

langgraph实现无观测推理 (Reasoning without Observation)

图例 1. 图状态 在 LangGraph 中&#xff0c;每个节点都会更新一个共享的图状态。当任何节点被调用时&#xff0c;状态就是该节点的输入。 下面&#xff0c;我们将定义一个状态字典&#xff0c;用以包含任务、计划、步骤和其他变量。 from typing import List from typing…

2024企业数据资产入表合规指引——解读

更多数据资产资讯关注公众&#xff1a;数字化转型home 本报告旨在为企业数据资产入表提供合规保障。随着数字经济的发展&#xff0c;数据资产已成为重要战略资源和新生产要素。财政部发布的《企业数据资源相关会计处理暂行规定》明确&#xff0c;自2024年1月1日起&#xff0c;数…