SpringBoot创建和使用

1.Spring Boot的优点

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

2.Spring Boot项目的创建

2.1使用IDEA创建

我们使用的是Idea社区版(其他版本也同样适用),我们先安装Spring Boot Helper插件才能创建Spring Boot项目,如下所示

 安装好后,这个插件会变成另一个名字,我们无需担心。

接下来我们创建Spring Boot项目:

 【注意事项】第一次打开Spring Boot项目可能需要加载很久,因为当前Spring Boot框架并没有在自己的本地仓库。

为了加速我们要配置国内源,我们可以参考以前的文章:Spring的创建和使用_C语言的好男友的博客-CSDN博客

 3.项目目录介绍和运行

 Spring Boot项目有两个主要的目录:

  • src/main/java 为Java的源代码
  • src/main/resources 为静态资源或配置文件:
    • /static:静态资源文件夹
    • /templates:模板资源文件夹

建议删除以下目录,有可能影响我们项目的运行:

4.1运行项目

 点击运行

 4.2输出Hello world

我们之前学的Spring其实是一个普通的Java项目,没办法直接和浏览器进行互动,所以我们接下来适用Spring Boot来实现和浏览器以及用户的交互。

代码如下:

@RestController
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/sayhi")
    public String sayHi() {
        return "hello, Spring Boot.";
    }
}

重新启动项目,我们输入URL观察结果

 5.约定大于配置

我们发现在Spring Boot项目中是没有spring-config.xml文件的,取而代之的是以下这个配置文件:

但是我们点开之后,里面什么东西都没有,它是如何检测Bean呢?

Spring Boot中约定和启动类在同一级目录下,就能Spring Boot项目检测到。这就是约定大于配置

6.总结

Spring Boot是为了快速开发Spring而诞生的,Spring Boot具备:

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

Spring Boot的设计思想是约定大于被指,类上标注。

 

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

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

相关文章

概率论和随机过程的学习和整理--番外15,如何计算N合1的合成数量问题?

目录 1 目标问题:多阶2合1的合成问题 1.1 原始问题 1.2 合成问题要注意,合成的数量 1.3 合成问题不能用马尔科夫链来解决 2 方案1:用合成公式合成多次能解决吗? --不能,解决不了递归的问题 3 方案2,…

idea2021.安装pojie教程

1、下载ideaIU-2021.3应用包,点击finish 2、先关闭idea窗口,等会激活了脚本再运行打开。 3、双击运行install-current-user.vbs,等待一会会提示运行成功。 4、运行后,在文件中会多出一条配置 5、打开运行idea,输入激活码&#x…

如何使用curl下载github代码

首先通过chrome打开想要下载的源文件 如图,有那个下载图标时表示不需要鉴权即可下载,一般仓库都会开放只读权限,所以很大概率都有 比如我想下载这个crc32.c文件 那么我就需要知道它在哪个IP中,按下F12打开网络,点击下载…

pytorch安装GPU版本 (Cuda12.1)教程

使用本教程前,默认您已经安装并配置好了python3以上版本 1. 去官网下载匹配的Cuda Cuda下载地址 当前最高版本的Cuda是12.1 我安装的就是这个版本 小提示:自定义安装可以只选择安装Cuda Runtime。Nvidia全家桶不必全部安装。把全家桶全部安装完直接系统…

ChatGPT助力校招----面试问题分享(十二)

1 ChatGPT每日一题:运算放大器与比较器的区别 问题:运算放大器与比较器的区别 ChatGPT:运算放大器和比较器都是电子电路中常用的模拟电路元件,但它们的设计和应用略有不同。下面是两者的主要区别: 功能不同&#xf…

Java集合之List

ArrayLsit集合 ArrayList集合的特点 ArrayList集合的一些方法 ①.add(Object element) 向列表的尾部添加指定的元素。 ②.size() 返回列表中的元素个数。 ③.get(int index) 返回列表中指定位置的元素,index从0开始。 public class Test {public static void m…

【Vue】day03-VueCli(脚手架)

day03 一、今日目标 1.生命周期 生命周期介绍 生命周期的四个阶段 生命周期钩子 声明周期案例 2.综合案例-小黑记账清单 列表渲染 添加/删除 饼图渲染 3.工程化开发入门 工程化开发和脚手架 项目运行流程 组件化 组件注册 4.综合案例-小兔仙首页 拆分模块-局部…

有名管道(FIFO)的学习笔记

文章目录 有名管道介绍有名管道的使用创建 注意事项 有名管道介绍 有名管道的使用 创建 命令, mkfifo name函数,int mkfifo(const char *pathname, mode_t mode); 设置错误号; 向管道中写数据👇: 从管道读数据&am…

前端Web实战:从零打造一个类Visio的流程图拓扑图绘图工具

前言 大家好,本系列从Web前端实战的角度,给大家分享介绍如何从零打造一个自己专属的绘图工具,实现流程图、拓扑图、脑图等类Visio的绘图工具。 你将收获 免费好用、专属自己的绘图工具前端项目实战学习如何从0搭建一个前端项目等基础框架项…

log4j--动态打印日志文件到指定文件夹

文章目录 log4j--动态打印日志文件到指定文件夹1、添加Maven依赖2、配置文件 log4j.properties3、编写日志打印工具类 LogUtil4、工具类调用 log4j–动态打印日志文件到指定文件夹 1、添加Maven依赖 <!-- log4j日志相关坐标 --><dependency><groupId>org.s…

API Testing 一个基于 YAML 文件的开源接口测试工具

目录 前言&#xff1a; 如何使用&#xff1f; 本地模式 服务端模式 文件格式 后续计划 前言&#xff1a; API Testing 是一个基于 YAML 文件的开源接口测试工具&#xff0c;它可以帮助开发者快速地进行接口测试。 在选择工具时&#xff0c;可以从很多方面进行考量、对比…

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测(Excel可直接替换数据)

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.文件结构3.Excel数据4.分块代码4.1 arithXover.m4.2 delta.m4.3 ga.m4.4 gabpEval.m4.5 initializega.m4.6 maxGenTerm.m4.7 nonUnifMutation.m4.8 normGeomSel…

Pytorch:利用torchvision调用各种网络的预训练模型,完成CIFAR10数据集的各种分类任务

2023.7.19 cifar10百科&#xff1a; [ 数据集 ] CIFAR-10 数据集介绍_cifar10_Horizon Max的博客-CSDN博客 torchvision各种预训练模型的调用方法&#xff1a; pytorch最全预训练模型下载与调用_pytorch预训练模型下载_Jorbol的博客-CSDN博客 CIFAR10数据集下载并转换为图片&am…

vue中export和export default的使用

<script> export default {name: HelloWorld } $(function () {alert(引入成功) }) </script> 1、export的使用 比喻index.js要使用test.js中的数据&#xff0c;首先在test.js文件中进行导出操作 代码如下&#xff1a; export function list() {alert("list…

【表达式引擎】简单高效的轻量级Java表达式引擎:Aviator

简单高效的轻量级表达式引擎&#xff1a;Aviator 前言 Aviator 是一个高性能、、轻量级的表达式引擎&#xff0c;支持表达式动态求值。其设计目标为轻量级和高性能&#xff0c;相比于 Groovy 和 JRuby 的笨重&#xff0c;Aviator 就显得更加的小巧。与其他的轻量级表达式引擎不…

Python实战项目——物流行业数据分析(二)

今天我们对物流行业数据进行简单分析&#xff0c;数据来源&#xff1a;某企业销售的6种商品所对应的送货及用户反馈数据 解决问题&#xff1a; 1、配送服务是否存在问题 2、是否存在尚有潜力的销售区域 3、商品是否存在质量问题 分析过程&#xff1a; 依旧先进行数据处理 一…

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比 一、数据介绍 基于UCI葡萄酒数据集进行葡萄酒分类及产地预测 共包含178组样本数据&#xff0c;来源于三个葡萄酒产地&#xff0c;每组数据包含产地标签及13种化学元素含量&#xff0c;即已知类…

C# List 详解四

目录 18.FindLast(Predicate) 19.FindLastIndex(Int32, Int32, Predicate) 20.FindLastIndex(Int32, Predicate) 21.FindLastIndex(Predicate) 22.ForEach(Action) 23.GetEnumerator() 24.GetHashCode() 25.GetRange(Int32, Int32) C#…

【搜索引擎Solr】配置 Solr 以获得最佳性能

Apache Solr 是广泛使用的搜索引擎。有几个著名的平台使用 Solr&#xff1b;Netflix 和 Instagram 是其中的一些名称。我们在 tajawal 的应用程序中一直使用 Solr 和 ElasticSearch。在这篇文章中&#xff0c;我将为您提供一些关于如何编写优化的 Schema 文件的技巧。我们不会讨…

Prompt 技巧指南-让 ChatGPT 回答更准确

随着 ChatGPT 等大型语言模型 (LLM)的兴起&#xff0c;人们慢慢发现&#xff0c;怎么样向 LLM 提问、以什么技巧提问&#xff0c;是获得更加准确的回答的关键&#xff0c;也由此产生了提示工程这个全新的领域。 提示工程(prompt engineering)是一门相对较新的领域&#xff0c;用…