当前位置: 首页 > news >正文

【JavaEE进阶】SpringBoot项目的创建

文章目录

  • 一. SpringBoot简介
    • 1. 什么是SpringBoot?
    • 2. SpringBoot的优点
  • 二. SpringBoot项目创建
    • 1. 使用IDEA创建
    • 2. 使用网页创建SpringBoot项目
  • 三. 运行SpringBoot项目

一. SpringBoot简介

1. 什么是SpringBoot?

Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序的开源框架.它简化了 Spring 应用程序的配置和部署过程,使开发者能够更专注于业务逻辑的实现。

Spring Boot 提供了许多开箱即用的功能,包括:

  1. 自动配置:Spring Boot 根据应用程序的依赖关系自动配置各种组件,无需手动编写大量的配置代码。
  2. 嵌入式 Web 服务器:Spring Boot 内置了 Tomcat、Jetty、Undertow 等常用的 Web 服务器,可以轻松地创建独立运行的 Web 应用程序。
  3. 简化的依赖管理:Spring Boot 提供了一组统一管理的依赖库,避免了版本冲突和复杂的依赖声明。
  4. Actuator:Spring Boot Actuator 提供了一系列生产就绪的特性,用于监控和管理应用程序,例如健康检查、性能指标、配置信息等。
  5. 外部化配置:通过将配置信息外部化,可以在不同环境中轻松切换配置,无需重新打包应用程序。
    强大的开发工具:Spring Boot 集成了许多常用的开发工具和插件,如开发者工具、自动重启、代码生成等,提高了开发效率。

使用 Spring Boot,开发者可以快速搭建一个独立运行、生产就绪的 Spring 应用程序,而无需手动配置和集成各种组件。它使得构建和部署 Spring 应用变得更加简单和高效,是开发微服务和云原生应用的理想选择。

2. SpringBoot的优点

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

二. SpringBoot项目创建

1. 使用IDEA创建

  1. 安装相关插件
    此处我们使用的是IDEA社区版,所以要先安装 Spring Boot Helper 插件才能创建 Spring Boot项目,如图所示:
    在这里插入图片描述
    在这里插入图片描述
  2. 选择Spring boot项目,选择合适的jdk版本,设置创建项目源.(默认是Spring官网:start.spring.io)
    在这里插入图片描述
  3. 项目的参数设置
    在这里插入图片描述
  4. 选择Spring Boot版本号
    在这里插入图片描述
  5. 设置项目名称和保存路径
    在这里插入图片描述
  6. 创建成功
    在这里插入图片描述
    在这里插入图片描述

2. 使用网页创建SpringBoot项目

创建SpringBoot地址
在这里插入图片描述
创建好一个项目包.需要将它导入在IDEA中(相当于备份包)
在这里插入图片描述
压缩后再IDEA中打开:
在这里插入图片描述当上述两种方式都不行时,可以使用阿里云创建SpringBoot项目:阿里云

创建好项目后删除四个无用的文件:
在这里插入图片描述
SpringBoot主要文件介绍:
在这里插入图片描述

三. 运行SpringBoot项目

demo文件下创建TestController:

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

代码说明:
在这里插入图片描述
访问此地址可以得到:http://localhost:8080/sayHi
运行结果:
在这里插入图片描述
在SpringBoot项目中:约定大于配置.约定TestController必须要放在与启动类同一目录(demo)下才能够启动.如果将TestController移动到其他包下就会发现程序报错.

相关文章:

【JavaEE进阶】SpringBoot项目的创建

文章目录 一. SpringBoot简介1. 什么是SpringBoot?2. SpringBoot的优点 二. SpringBoot项目创建1. 使用IDEA创建2. 使用网页创建SpringBoot项目 三. 运行SpringBoot项目 一. SpringBoot简介 1. 什么是SpringBoot? Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序…...

c++二进制转化十进制代码(小数)

#include <bits/stdc.h> using namespace std; int mid; double er_shi(string a){int lena;double sum0;int p0;int q-1;int yn1;//判断是否小数 lenaa.length();//字符串长度 for(int i0;i<lena;i){if(a[i].){midi;yn0;break;} }if(yn0){for(int jmid-1;j>0;j--…...

07_ansible, 条件选择、加载客户事件、在roles和includes上面应用’when’语句、条件导入、基于变量选择文件和模版、注册变量

10.条件选择 10.1.When语句 10.2.加载客户事件 10.3.在roles和includes上面应用’when’语句 10.4.条件导入 10.5.基于变量选择文件和模版 10.6.注册变量 10.条件选择 转自&#xff1a;http://www.ansible.com.cn/docs/playbooks_conditionals.html#id3 常常来说,一个play的…...

4个简化IT服务台任务的ChatGPT功能

最近几个月&#xff0c;ChatGPT 风靡全球&#xff0c;这是一个 AI 聊天机器人&#xff0c;使用户能够生成脚本、文章、锻炼图表等。这项技术在各行各业都有无穷无尽的应用&#xff0c;在本文中&#xff0c;我们将研究这种现代技术如何帮助服务台团队增强服务交付和客户体验。 什…...

群晖7.X版安装cpolar内网穿透

群晖7.X版安装cpolar内网穿透套件 文章目录 群晖7.X版安装cpolar内网穿透套件前言1. 下载cpolar的群晖系统套件1.1 在“套件中心” 选择“手动安装”1.2 完成套件安装 2. 进入cpolar软件信息页3. 点击“免费注册”轻松获得cpolar账号 前言 随着群晖系统的更新换代&#xff0c;…...

[保研/考研机试] KY183 素数 北京航空航天大学复试上机题 C++实现

题目链接&#xff1a; 素数https://www.nowcoder.com/share/jump/437195121691718444910 描述 输入一个整数n(2<n<10000)&#xff0c;要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数&#xff0c;如果没有则输出-1。 输入描述&#xff1a; 输入有多…...

Java基础入门篇——IDEA开发第一个入门程序(五)

目录 一、IDEA层级结构分类 二、IDEA层级结构介绍 三、IDEA层级关系 四、创建IDEA中的第一个代码 一、IDEA层级结构分类 IntelliJ IDEA的项目结构主要分为以下几个层级&#xff1a; Project&#xff1a; 项目Module: 模块Package: 包Class&#xff1a; 类 一个项目里面…...

系统学习Linux-Redis基础

一、redis概述 NoSQL&#xff08;非关系型数据库、内存存储&#xff09; 类型 文档型数据库&#xff08;Document-oriented database&#xff09;如MongoDB&#xff1b; 列族数据库&#xff08;Column-family database&#xff09;如HBase、Cassandra等&#xff1b; 图形数…...

实现缓存el-table分页大小,用户新建标签打开该页面需保持分页大小(考虑是否为嵌入式页面)

需求&#xff1a;每个表格的分页大小 以本地缓存的方式存到浏览器本地&#xff0c;然后用户下次打开的时候 获取这个本地存储的值 如果没有就用页面默认的值&#xff0c;如果有 则先判断是不是有效的(是) 无效用默认 有效就用这个缓存值,需要区分是否为嵌入式页面 分析&#xf…...

056B R包ENMeval教程-基于R包ENMeval对MaxEnt模型优化调参和结果评价制图(更新)

056B-1 资料下载 056B-2 R包ENMeval在MaxEnt模型优化调参中的经典案例解读 056B-3 R软件和R包ENMeval工具包安装 056B-4 R软件和R包ENMeval安装报错解决办法 056B-5 环境数据格式要求和处理流程 056B-6 分布数据格式要求和处理流程 056B-7 基于R包ENMeval对MaxEnt模型优化…...

MySQL_数据库的DDL语句(表的创建与修改)

DDL 数据库操作 查看当前有哪些数据库 SHOW databases;#查看哪些数据库查询当前数据库 SELECT database();创建数据库 create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序 规则 ] ;创建一个sycoder数据库, 使用数据库默认的字符集 CREATE…...

常见面试题:字节序判别和转换

在计算机中&#xff0c;字节序指的是多字节数据的存储顺序。最常见的字节序有两种&#xff1a;大端字节序&#xff08;Big-Endian&#xff09;和小端字节序&#xff08;Little-Endian&#xff09;。 大端字节序是指最高有效位&#xff08;Most Significant Bit&#xff0c;简称…...

Maxwell与canal工具对比

Maxwell和Canal是两种不同的数据同步工具&#xff0c;都是在数据迁移、数据同步、数据分发等领域发挥作用的工具&#xff0c;但是它们之间存在一些差异。 Maxwell Maxwell是一种开源的MySQL数据库同步工具&#xff0c;它可以将MySQL数据库的binlog转化为JSON格式&#xff0c;…...

SpringBoot——如何运行Python脚本并返回数据

文章目录 运行python脚本并输出如何输入参数 运行python脚本并输出 要让Python脚本返回数据给调用它的Java代码&#xff0c;你可以在Python脚本中使用打印或输出函数将结果输出到标准输出&#xff08;stdout&#xff09;中。 以下是一个示例&#xff0c;在Python脚本中返回数…...

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

R语言初学者书籍推荐

Home | Bookdown 这个网站上有很多R语言的书籍&#xff0c;并且一直在更新&#xff0c;阅读起来没有难度。 今天搜索材料的时候&#xff0c;检索到下面这本书&#xff1a; 有输入&#xff0c;才会有输出。...

Taro+Vue3,点击按钮把另一个页面分享出去

useShareAppMessage​ 监听用户点击页面内转发按钮&#xff08;Button 组件 openTypeshare&#xff09;或右上角菜单“转发”按钮的行为&#xff0c;并自定义转发内容。等同于 onShareAppMessage 页面生命周期钩子。 使用时&#xff0c;必须为页面配置 enableShareAppMessage…...

CSS基础:学习CSS样式的基本语法和应用,了解如何美化网页。

CSS&#xff08;层叠样式表&#xff09;是一种用于描述网页上元素&#xff08;例如文字、图像、背景等&#xff09;外观和布局的样式语言。通过使用CSS&#xff0c;您可以控制和改变网页的外观&#xff0c;使其更具吸引力和易于使用。 下面是一些CSS基础知识和常用的语法&#…...

MySQL语句总和之表数据操作(增删改查)

目录 1、增加 insert into 表 (字段1&#xff0c; 字段3&#xff0c; 字段5) values(value1, value2, value3&#xff09; insert into 表 [(字段1&#xff0c; 字段2&#xff0c; 字段3....)] values(value1, value2,value3.....)[,(value1, value2, value3....) .....] i…...

HDFS中snapshot快照机制

HDFS中snapshot快照机制 介绍作用功能实现相关命令和操作相关命令 介绍 snapshot是数据存储的某一时刻的状态记录&#xff0c;备份&#xff08;backup&#xff09;则是数据存储的某一个时刻的副本HDFS snapshot快照是整个文件系统或某个目录在某个时刻的镜像&#xff0c;该镜像…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...