进阶SpringBoot之 Spring 官网或 IDEA 快速构建项目

news2025/1/23 21:28:02

SpringBoot 就是一个 JavaWeb 的开发框架,约定大于配置

程序 = 数据结构 + 算法

微服务架构是把每个功能元素独立出来,再动态组合,是对功能元素的复制

这样做可以节省调用资源,每个功能元素的服务都是一个可替代、可独立升级的软件代码

构建一个个功能独立的微服务应用单元,可以使用 SpringBoot,快速构建一个应用

大型分布式网络服务的调用,由 SpringCloud 实现分布式

在分布式中间,由 Spring Cloud Data Flow 进行流式数据计算、批处理

Spring 为我们提供了整个从开始构建应用到大型分布式应用全流程方案

官方提供了一个快速生成 Spring Boot 的网站

Spring 官网

点击 Projects -> Spring Boot -> OVERVIEW -> 滑到底部 -> 点击 Spring Initializr 快速启动项目

修改自己的名称

添加 Spring Web 依赖

点击底部 GENERATE 生成项目

下载的压缩包放到自己的代码文件夹下解压,打开 IDEA 导入项目即可

IDEA 创建 Spring Boot 项目:

next -> 添加依赖

设置每次创建 maven 项目都从阿里云镜像下载

进入项目

HelloWorldApplication.java 是程序的主入口

application.properties 是 SpringBoot 的核心配置文件

HelloWorldApplicationTests.java 是测试类

启动项目成功!

可以看到 8080 端口启动

访问 localhost:8080,出现页面(就是这个页面,不是报错)

如上图,它提供了一个 localhost:8080/error 页面,访问回车

在 Application 同级目录下创建包才能生效

在 controller 包下写个 HelloController.java

@RestController 返回字符串

@RequestMapping() 访问路径

(与 SpringMVC 相似,简化了 Tomcat 配置)

package com.demo.helloworld.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//@RestController返回字符串
@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        //调用业务,接受前端的参数
        return "Hello World";
    }
}

运行,直接在地址栏后缀输入 /hello,即 localhost:8080/hello

输出成功!

pom.xml 文件:

所有 SpringBoot 依赖都以 spring-boot-starter 开头

    <dependencies>
        <!-- web依赖:tomcat、dispatcherServlet、xml等 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 单元测试 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <!-- 打jar包插件 -->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

Maven -> Lifecycle -> package 打包(双击)

出现这个即成功

target 生成一个可执行 jar 包(接口)

在文件管理器 target 路径下,地址栏输入 powershell

java -jar .\HelloWorld-0.0.1-SNAPSHOT.jar

可以在 application.properties 修改端口号(微服务会开多个端口)

server.port=8081

这时候就需要进入 localhost:8081

Spring Boot 的 banner 可以进行更换

Spring Boot banner 在线生成工具

比如搜索佛祖,复制下来

在 resources 目录下创建 banner.txt,把佛祖粘贴在上面

重启运行,banner 变成佛祖

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

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

相关文章

从地铁客流讲开来:超一线城市的客运量特征

这篇我们把视角聚焦在四大超一线城市&#xff0c;北上广深&#xff0c;我们来看看这些城市地铁客运量的异同&#xff0c;这里放一个背景2024年6月8日—6月10日是我国农历的端午节&#xff0c;我们看图说话&#xff0c;相同的特征&#xff1a;1.四大一线城市客流都在周五达到客运…

数学建模--蒙特卡罗随机模拟

目录 蒙特卡罗方法的基本原理 蒙特卡罗方法在优化中的应用 蒙特卡罗方法的优势与局限 优势 局限 典型应用案例 Python代码示例 ​编辑 结论 蒙特卡罗方法在数学建模中的具体应用案例有哪些&#xff1f; 如何改进蒙特卡罗方法以提高计算效率和精度&#xff1f; 蒙特…

如何使你的mermaid流程图里的某一段文字加粗、变斜、成为上下标……

目录 参考的链接开头1.加粗&#xff0c;*斜体*与下划线2.标记,~~删除线~~与^上^~下~标3.代码片与标题4.注释与蓝色链接5.其</q>他 东西 结尾 参考的链接 HTML标签列表(按字母排序)和HTML标签列表(按功能排序) 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们…

【架构】客户端优化

这篇文章总结一下服务器网关及之前部分的优化&#xff0c;如客户端的优化&#xff0c;CDN/DNS等。 这里我们先谈一谈客户端缓存优化的手段。一般我们后端在说到缓存&#xff0c;第一时间想到的往往是redis&#xff0c;其实缓存在架构层次还有很多其他可以实现的地方&#xff0…

从LLM到大模型推理的最新进展

大语言模型LLM的推理引擎经过一年时间发展&#xff0c;现在主流方案收敛到了开源的vLLM和半闭源的TensorRT-LLM。 TRT-LLM基于C开发&#xff0c;有NV算子开发黑魔法加持&#xff0c;在其重点支持的场景里&#xff0c;性能可以做到极致。vLLM基于python开发&#xff0c;代码简洁…

MySQL第2讲--关系型数据库以及SQL语句分类之DDL数据库和表的操作

文章目录 前言关系型数据库&#xff08;RDBMS&#xff09;关系型数据库的特点 MySQL数据模型SQL介绍基本语法规则SQL语句的分类DDL的介绍DDL的数据库操作DDL的表操作 前言 上一节MySQL第1讲–详细安装教程和启动方法中介绍了MySQL如何安装&#xff0c;以及如何启动和客户端连接…

使用 Elastic 和 Mistral 构建多语言 RAG

作者&#xff1a;来自 Elastic Gustavo Llermaly 使用 Elastic 和 Mixtral 8x22B 模型构建多语言 RAG 应用程序。 Mixtral 8x22B 是性能最高的开放式模型&#xff0c;其最强大的功能之一是能够流利使用多种语言&#xff1b;包括英语、西班牙语、法语、意大利语和德语。 想象一…

质量属性-系统架构师(四十)

质量属性 1性能&#xff1a; 指系统响应能力。如响应时间、吞吐量。 设计策略&#xff1a;优先级队列&#xff0c;增加计算机资源&#xff0c;减少计算机开销&#xff0c;引入并发机制&#xff0c;采用资源调度。 2可靠性&#xff1a; 在一定时间内正常运行的情况下&#x…

PTA—基础编程题目集(7-21)

7-21 求特殊方程的正整数解 目录 题目描述 输入格式&#xff1a; 输出格式&#xff1a; 输入样例1&#xff1a; 输出样例1&#xff1a; 输入样例2&#xff1a; 输出样例2&#xff1a; 参考代码 总结 题目描述 本题要求对任意给定的正整数N&#xff0c;求方程X2Y2N的…

《Milvus Cloud向量数据库指南》——关于Ivy.ai:重塑沟通效率与数据安全的创新先锋

关于Ivy.ai:重塑沟通效率与数据安全的创新先锋 在数字化转型的浪潮中,Ivy.ai以其前瞻性的视野和专业团队的匠心独运,正逐步成为高等教育、医疗保健及公共部门沟通效率提升的引领者。这家企业不仅代表了人工智能技术在服务领域的最新进展,更以其旗舰产品IvyQuantum™的横空…

搬瓦工香港CMI VPS测评

搬瓦工香港cmi怎么样&#xff1f;搬瓦工香港VPS分CN2 GIA和CMI两种不同接入的网络&#xff0c;其中CMI网络的回程是强制三网全部都走移动CMI线路&#xff0c;相对CN2 GIA来说有一定的差距。实际的情况测评数据送上&#xff0c;可供参考。 CPU型号未知&#xff0c;主频2.7GHz&a…

【C++】一堆数组 冒泡排序

冒泡排序&#xff0c;一种很常见的排序法师 这章要划重点&#xff0c;很重要&#xff01;&#xff01; 排序思路为前一个元素与后一个元素比大小&#xff0c;一直循环一轮&#xff0c;找出最大/最小的那个元素后&#xff0c;进行下一轮&#xff0c;找到第二大/小的元素......…

ZLM推流

ZLM推流 ffmpeg -re -i D:\work\gb28181-client\target\classes\device\videofile.h264 -vcodec h264 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000把这个复制出来然后将defaultVhost_改成127.0.0.1

题海战术,面试必胜秘诀

目录 1.Java 的优势是什么&#xff1f;2.什么是 Java 的多态特性?3.Java 中的参数传递是按值还是按引用?4.为什么 Java 不支持多重继承?5.什么是 Java 中的不可变类?总结 题目 来自面试鸭刷题神器 1.Java 的优势是什么&#xff1f; Java 的跨平台性、垃圾回收机制以及其强…

【EtherCAT】Windows+Visual Studio配置SOEM主站——源码配置

目录 一、准备工作 1. Visual Studio 2022 2. Npcap 1.79 3. SOEM源码 二、源码部署 1. 新建Visual Studio工程 2. 创建文件夹 3. 创建主函数 4. 复制源代码 5. 删除无关项 6. 将soem源码添加进工程 7. 添加soem头文件 8. 配置头文件路径 9. 配置静态库和静态库路…

xdma的linux驱动编译给arm使用(中断检测-测试程序)

1、驱动链接 XDMA驱动源码官网下载地址为&#xff1a;https://github.com/Xilinx/dma_ip_drivers 下载最新版本的XDMA驱动源码&#xff0c;即master版本&#xff0c;否则其驱动用不了&#xff08;xdma ip核版本为4.1&#xff09;。 2、驱动 此部分来源于博客&#xff1a;xd…

多模态MLLM都是怎么实现的(12)-Florence-2

最近一直在打艾尔登法环DLC&#xff0c;疏于更新了&#xff0c;罪过罪过&#xff0c;今天把拉塔恩给过了&#xff0c;也该更新了&#xff0c;停更期间&#xff0c;催更的信息主要是啥时候更新GPU系列的第五篇&#xff0c;不是不更&#xff0c;是刚打完&#xff0c;正好有客户要…

C# Unity 面向对象补全计划 七大原则 之 里氏替换

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列作为七大原则和设计模式的进阶知识&#xff0c;看不懂没关系 请看专栏&#xff1a;http://t.csdnimg.cn/mIitr&#xff0c;尤其是关于继承的两篇文章&#xff…

算法022:寻找峰值

寻找峰值. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/find-peak-element/ 这个题跟上一个题很像&#xff0c;也是寻找一个峰值。此题还特意强调了如果有多个峰…