SpringBoot笔记:Hello World

news/2024/5/17 1:32:58/文章来源:https://www.cnblogs.com/guyuyun/p/16846450.html

SpringBoot简化了Spring应用的初始框架搭建和开发过程,利用SpringBoot框架可以快速的进行Spring应用的开发,SpringBoot具有以下特性:

  1. 能够快速创建基于Spring的应用程序。
  2. 提供了约定好的初始POM来简化Maven配置,让Maven配置变得更简单。
  3. 多数情况可以直接使用注解开发来替代xml配置。
  4. 自动配置Spring、SpringMVC等Maven依赖。

Hello World

一、创建一个空的SpringBoot工程

1、在IDEA中创建一个空的project,便于管理项目中的各个Module: File > New > Project... > Empty Project

2、创建基于SpringBoot框架的Module: New > Module > Spring Initializr ,Module信息示例:

  • Group:包路径,如com.yun.demo。
  • Artifact:Module名称,如demo-001-helloworld。
  • Package:IDEA会根据填写的Artifact名称(即Module名称)自动生成一级目录,我们一般会把最后一级的包名删掉。
  • 其他:直接默认就好。

然后依次选择 Web > Spring WebSpring Boot 的版本一般默认就好,但是也可以根据自身需要选择一个稳定的版本,最后一步时,注意新建Module的目录 Content root 可能需要自己手动修改一下,它默认是你新建Module时鼠标选中的目录。最后点击finish之后,一个简单的SpringBoot框架就创建好了,它的程序入口就在src目录下自动创建好的 xxxApplication 类中。新创建Module目录如下(controller包是我自己手动创建的):

二、编写SpringMVC程序输出Hello World

使用SpringBoot创建一个SpringMVC应用程序非常之简单,创建Module的时候,它就已经自动配置好了SpringMVC的所有基础POM依赖,也自动集成了Tomcat,我们只需要编写一个controller类即可。不过需要注意的是,我们创建的所有包和文件都必须在启动类 xxxApplication 同级或以下目录。例如在上图的controller包中创建一个HelloController类,编码如下,然后直接运行xxxApplication类的main方法,在浏览器中输入http://localhost:8080/hello即可。

package com.yun.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;// 使用@Controller表名这是一个控制类
@Controller
public class HelloController {// 指定请求路径@RequestMapping(value="/hello")// 将返回内容包装为响应体@ResponseBodypublic String hello() {return "Hello world!";}
}

三、默认POM配置

创建SpringBoot框架Module时会自动配置对应的POM依赖,默认配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!--  SpringBoot默认的父工程,也是基于Maven的,里面包含了许多SpringBoot基础的依赖包,所以我们才可以直接使用一些Spring注解等基础功能,而不用自己手动配置 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.0</version><relativePath/> <!-- lookup parent from repository --></parent><!--  定义自己项目的GAV坐标,也可以不用写在<parent>下  --><groupId>com.yun.demo</groupId><artifactId>demo-001-helloworld</artifactId><version>1.0.0</version><!--  项目名称和描述  --><name>demo-001-helloworld</name><description>Demo project for Spring Boot</description><!--  项目使用的Java版本  --><properties><java.version>17</java.version></properties><dependencies><!--  SpringBoot框架的起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--  SpringBoot测试框架的起步依赖  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><!--  SpringBoot项目的打包编译插件  --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

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

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

相关文章

标准库类型string和vector

一、命名空间 std::cinstd就是命名空间&#xff0c; 这个的含义是 &#xff1a;编译器应该从操作符左侧的名字所示的作用域std中去寻找cin。 另一种方式就是在开头显式进行说明&#xff1a; using std::cin;这样一来后续就不用再去在每条语句中显式说明了。 需要注意的是&…

Java垃圾回收器

Java垃圾回收器1 GC分类与性能指标1.1 垃圾回收器概述1.2 垃圾回收器分类1.2.1 按照线程分1.2.2 按照工作模式分1.2.3 碎片处理方式分1.2.4 工作的内存区间分1.3 评估GC的性能指标1.4 吞吐量与暂停时间的对比说明1.4.1 吞吐量1.4.2 暂停时间1.4.3 高吞吐量 VS 暂停时间2 垃圾回…

非常实用的Visual Studio Code快捷键(2) 欢迎各位大侠补充

折叠或展开代码 代码须易于理解并且要记录在案。可以使用以下快捷键轻松折叠代码中次重要的部分&#xff1a; 按_Ctrl Shift [_ 进行折叠。按_Ctrl Shift ]_ 展开 导航到特定行 如果要转到包含数千行的文件中的所需行。只需执行以下操作&#xff1a; 按_Ctrl G_&#x…

wireshark测试tcp三次握手与四次挥手

wireshark 选择Loopback来监听本地网络。 监听的内容是分三大模块的&#xff1a; 封包列表的面板中显示&#xff0c;编号&#xff0c;时间戳&#xff0c;源地址&#xff0c;目标地址&#xff0c;协议&#xff0c;长度&#xff0c;以及封包信息。 你可以看到不同的协议用了…

网课搜题接口-掘光者题库系统

网课搜题接口-掘光者题库系统 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&am…

Hive与SparkSQL语法差异

一、相同函数差异 1、Spark运行时用到的hash函数&#xff0c;与Hive的哈希算法不同&#xff0c;如果使用hash()&#xff0c;结果和Hive的hash()会有差异 2、Hive和SparkSQL使用grouping sets生成的GROUPING_ID不一致 3、regexp_extract未匹配上的话&#xff0c;在HIVE里返回…

Hive事务表 (Transactional Tables)

文章目录1. 为什么要使用事务表&#xff1f;2. 创建使用事务表1. 为什么要使用事务表&#xff1f; Hive 原本是不支持事务的&#xff0c;也就是不支持 增删改(insert、delete、update)、回滚等 操作的。因为&#xff1a; Hive的核心目标是&#xff1a;将已经存在的结构化数据文…

大学生影视主题网页制作 HTML+CSS+JS仿360影视网站 dreamweaver电影HTML网站制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

加密后的数据如何进行模糊查询

文章目录如何对加密后的数据进行模糊查询?方法1&#xff1a;先解密在查询方法2&#xff1a;在数据库实现加密算法函数第一种思路&#xff1a;在数据库实现加密算法函数第二种思路&#xff1a;对密文数据进行分词组合手机号模糊查询姓名模糊查询姓名精确查询&#xff08;地址也…

Mysql 事务原理分析

文章目录1、事务1.1、概念1.2、事务控制语句1.3、ACID 特性1.3.1、原子性 A1.3.2、一致性 C1.3.3、隔离性 I1.3.4、持久性 D1.4、undo log1.5、redo log2、隔离级别2.1、隔离级别的分类2.1.1、读未提交 RU2.1.2、读已提交 RC2.1.3、可重复读 RR2.1.4、可串行化 SC2.2、并发读异…

【Linux】UDP、TCP协议

目录 前言 1.UDP协议 1.1. UDP协议段格式 1.2. UDP的特点 1.3. UDP的缓冲区 2. TCP协议 2.1. TCP报文格式 2.2. TCP的确认应答机制 2.3. 流量控制 2.4. 标志位 2.4.1. ACK、SYN 2.4.2. RST(reset) 2.4.3. PSH(push) 2.4.4. URG 2.4.5. FIN 2.5. TCP三次握手 2.…

买阿里云服务器,实操搭建nginx+php+mysql+thinkphp5全过程(2)

书接上回(买阿里云服务器,实操搭建nginx+php+thinkphp5全过程(1)),我的阿里云服务器快要到期了,为了让它发光发热,实现最后的价值,我目标初始化服务器,重新实操搭建nginx+php+thinkphp5全过程。 反正也快过期了,知道IP也没关系了(但是我的淘宝名还是遮一下吧),上…

香港发布有关虚拟资产发展的政策宣言

本宣言由财经事务及库务局(“财库局” )发出&#xff0c;就在香港发展蓬勃的虚拟资产行业和生态圈&#xff0c;阐明政府的政策立场和方针。 愿景和方针 2. 香港是国际金融中心&#xff0c;对全球从事虚拟资产业务的创新人员抱持开放和兼融的态度。我们十分欣赏这些创新人员开展…

学原油期货买什么书(怎么样买原油期货)

想做好期货要看哪些书籍 炒期货要学习的入门知识太多&#xff0c;比如期货法规、期货基础、期货品种、交易规则等等。期货合约的商品品种、交易单位、合约月份、保证金、数量、质量、等级、交货时间、交货地点等条款都是既定的&#xff0c;是标准化的&#xff0c;唯一的变量是…

计算机毕设(附源码)JAVA-SSM计算机组成原理教学系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

python--孪生素数

找出100以内的所有“孪生数” 如果两素数只差为2&#xff0c;这样的两个素数就叫做“孪生数”&#xff0c; 代码如下&#xff1a; def is_prime(num): """判断一个数是否为质数""" for i in range(2, num // 2 1): if num % …

【PCL】输入输出(I/O)

文章目录学习资料点云文件格式写入点云数据到PCD文件从PCD文件读取点云数据点云拼接学习资料 最重要的参考资料是官网&#xff1a;https://pointclouds.org/&#xff0c;Docs是函数手册&#xff0c;Tutorials是代码示例&#xff0c;两者结合学习&#xff08;shiyong&#xff0…

java毕业设计——基于java+JSP+sqlserver的班主任管理系统设计与实现(毕业论文+程序源码)——班主任管理系统

基于javaJSPsqlserver的班主任管理系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于javaJSPsqlserver的班主任管理系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。 文章目录&#xff1a; 基于javaJ…

windows下搭建mindspore的编译环境

rugwindows 10下安装mindpsore环境&#xff0c;需要visual studio 2019及以上&#xff0c;cmake, python 也可以从上面下载mindspore编译依赖的软件。 visual studioan安装时需注意 然后再安装cmake,git&#xff0c;安装好之后设置检查环境变量&#xff0c;缺失的要补上 系统…

形式主语 it 练习题

4.形式主语 it it 可以代替主语从句&#xff0c;不定式&#xff0c;动名词&#xff08;非正式用语下&#xff09; 1.It is a pity how many unhappy marriages there are 2.It is doesn’t interest me to steal the secret formula. 3.It is doesn’t interest me what she c…