实现springboot的简单使用~

news2024/11/17 5:31:37

在之前学习Spring+SpringMVC+Mybatis框架时,我们学习了多种配置spring程序的方式,例如:使用XML,注解,Java配置类,或者是将它们结合使用,但配置文件配置起来依然过于复杂,而我们接下来要学习的SpringBoot就帮助我们解决了这个问题,它是帮助我们简单,快速地创建一个独立的,生产级别的Spring应用它的底层也是Spring,大多数SpringBoot应用只需要编写少量配置即可快速整合Spring平台以及第三方技术,表现在开箱即用设置可修改的,合理的默认值提供一系列大型项目通用的非功能性程序,并且约定大于配置,基本不需要主动编写配置类也不需要XML配置文件

总的来说SpringBoot存在的意义就是为了简化开发简化配置简化整合简化部署简化监控简化运维

系统要求:

maven     3.6.3或者更高版本
java    1.8+

版本过低的小伙伴记得去下载更高的版本哦

MAVEN传送门

JDK传送门

实现springboot的使用:

创建maven工程:

第一步:创建Empty Project,注意不是New Project

在这里插入图片描述

第二步:在上述创建完成的项目中右击添加Maven模块,如下所示

在这里插入图片描述

配置pom.xml文件:

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>SpringBoot1</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!--引用springBoot父项目,springboot的父项目提供了一些默认的配置和依赖管理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>
    <dependencies>
        <!--导入该依赖可获得web场景的各种依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

在springboot中依赖不需要写版本是因为它在父依赖中将所有jar包的依赖版本都声明好了,且它们之间并不会发生冲突。

启动器Starter有什么作用?

它是一组预定义的依赖项集合,旨在简化spring应用程序的配置和构建过程,它包含了一组相关的依赖项,以便在启动应用程序时,自动导入所需的库,配置和功能。

1:简化依赖:通过管理和捆绑一组相关的依赖项,减少了手动解析和配置依赖项的工作,只要导入一个相关的starter依赖,即可获得应用程序所需的全部依赖

2:自动配置:它能够在应用程序启动时自动配置所需的组件和功能,通过根据类路径和其他设置的自动检测,从而使应用程序的配置变得简单和维护成本降低。

官方提供的场景:命名为:spring-boot-starter-*
第三方提供场景:命名为: *-spring-boot-starter

在这里插入图片描述

创建访问类:

@springbootApplication是springboot启动类上的一个注解,是一个组合注解,也就是由其他注解组合起来,组成该注解的作用也被赋予给@springbootApplication,它的主要作用是标记说明这个类是springboot的主配置类,springboot可以运行这个类里面的main()方法来启动程序

主要由三个子注解组成:

@SpringBootConfiguration:
@EnableAutoConfiguration
@ComponentScan

启动类:

package com.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class);
    }
}

接下来我们想实现访问控制方法,将该方法的返回值显示在浏览器上

package com.springboot.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
//@RestController是一个组合注解,其中包含@ResponseBody@Controller,因此我们只需要写该注解即可
@RestController
//@ResponseBody
//@Controller
public class HelloSpringboot {

    @RequestMapping("/hello")
    public String showMessage(){
        return "Hello springboot2";
    }
}

注:@ResponseBody注解的作用

将方法的返回值直接作为HTTP响应的内容返回给客户端,而不是将返回值视为视图名,再通过视图解析器解析为视图。

我们启动项目,当控制台输出如下所示,即为项目启动成功!

在这里插入图片描述

浏览器中访问结果如下所示:

在这里插入图片描述

和之前整个的配置相比较,springboot是不是很方便呢,但需要注意的是,springboot只是能为我们快速搭建一个项目,但是它底层依然还是沿用springmvc,
mybatis,spring的内容

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

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

相关文章

VC++创建windows服务程序

目录 1.关于windows标准可执行程序和服务程序 2.服务相关整理 2.1 VC编写服务 2.2 服务注册 2.3 服务卸载 2.4 启动服务 2.5 关闭服务 2.6 sc命令 2.7 查看服务 3.标准程序 3.1 后台方式运行标准程序 3.2 查找进程 3.3 终止进程 以前经常在Linux下编写服务器程序…

【操作系统】进程同步与进程互斥

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 进程同步与进程互斥 一、什么是进程同步二、…

RabbitMQ-主题模式

接上文 RabbitMQ-发布订阅模式和路由模式 1 主题模式 #通配符 代表0个或多个。*通配符 代表 1个或多个 进行测试&#xff0c;修改配置文件 Configuration public class RabbitConfiguration {Bean("topicExchange") //这里使用预置的Topic类型交换机public Exchan…

深度学习(3)---PyTorch中的张量

文章目录 一、张量简介与创建1.1 简介1.2 张量的创建 二、张量的操作2.1 张量的拼接与切分2.2 张量索引 三、张量的数学运算 一、张量简介与创建 1.1 简介 1. 张量是一个多维数组&#xff0c;它是标量、向量、矩阵的高维拓展。 2. 在张量的定义中&#xff0c;方括号用于表示张…

智慧公厕是什么?

随着城市化进程的不断加速&#xff0c;公共厕所作为城市基础设施之一&#xff0c;也在不断进行着前所未有的变革。智慧公厕作为新一代的公共厕所形式&#xff0c;旨在提供更便捷、舒适、卫生的使用体验&#xff0c;不仅仅是个人使用需求的满足&#xff0c;更是城市文明程度和城…

山西电力市场日前价格预测【2023-10-05】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-05&#xff09;山西电力市场全天平均日前电价为363.87元/MWh。其中&#xff0c;最高日前电价为649.89元/MWh&#xff0c;预计出现在18: 45。最低日前电价为291.58元/MWh&#xff0c;预计…

实验三十四、串联型稳压电路参数的选择

一、题目 电路如图1所示。已知输入电压为 50 Hz 50\,\textrm{Hz} 50Hz 的正弦交流电&#xff0c;来源于电源变压器副边&#xff1b;输出电压调节范围为 5 ∼ 20 V 5\sim20\,\textrm V 5∼20V&#xff0c;满载为 0.5 A 0.5\,\textrm A 0.5A&#xff1b; C 3 C_3 C3​ 为消振…

【itext7】使用itext7将多个PDF文件、图片合并成一个PDF文件,图片旋转、图片缩放

这篇文章&#xff0c;主要介绍使用itext7将多个PDF文件、图片合并成一个PDF文件&#xff0c;图片旋转、图片缩放。 目录 一、itext7合并PDF 1.1、引入依赖 1.2、合并PDF介绍 1.3、采用字节数组方式读取PDF文件 1.4、合并多个PDF文件 1.5、合并图片到PDF文件 1.6、旋转图…

LVGL_基础控件label

LVGL_基础控件label 1、创建一个基础对象 /* 创建一个基础对象 label */ lv_obj_t * label lv_label_create(lv_scr_act()); // 创建一个label部件(对象),他的父对象是活动屏幕对象2、设置显示内容 char * text "www.100ask.net"; // 要显示的文字 /* 展示文…

K8S网络原理

文章目录 一、Kubernetes网络模型设计原则IP-per-Pod模型 二、Kubernetes的网络实现容器到容器的通信Pod之间的通信同一个Node内Pod之间的通信不同Node上Pod之间的通信 CNI网络模型CNM模型CNI模型在Kubernetes中使用网络插件 开源的网络组件FlannelFlannel实现图Flannel特点 Op…

视频批量剪辑工具,自定义视频速率,批量剪辑工具助力创意无限”

在视频制作的世界里&#xff0c;每一个细节都至关重要。今天&#xff0c;让我们来探索一项强大且创新的功能——自定义视频速率。利用它&#xff0c;你可以轻松地调整视频播放速度&#xff0c;赋予你的作品独特的个性和风格。 首先第一步&#xff0c;我们要打开好简单批量智剪…

智慧公厕有什么?

智慧公厕作为一种新形态的公共厕所&#xff0c;把智慧化的技术融入到公共厕所的日常使用与管理当中&#xff0c;赋予公共厕所更良好的信息化、数字化、科技化、联网化。 那么&#xff0c;智慧公厕有什么&#xff1f;本文从设施、技术、服务三方面进行快速了解。 首先&#xf…

vue实现轮播图详解

vue实现轮播图详解 目录 vue实现轮播图详解1 引言2 vue实现轮播图2.1 Vant组件引入2.1.1 vant组件引入2.2.2 使用van-swipe组件 2.2 vue代码实现2.2.1 功能需求2.2.2 实现思路2.2.3 代码实现2.2.4 实现效果 3 总结 1 引言 在互联网日渐内卷的情况下&#xff0c;越来越注重用户…

【重拾C语言】四、循环程序设计(后判断条件循环、先判断条件循环、多重循环;典例:计算平均成绩、打印素数、百钱百鸡问题)

目录 前言 四、循环程序设计 4.1 计算平均成绩——循环程序 4.1.1 后判断条件的循环 a. 语法 b. 典例 4.1.2 先判断条件的循环 a. 语法 b. 典例 4.1.3 for语句 a. 语法 b. 典例 4.2 计算全班每人平均成绩—多重循环 4.2.1 打印100以内素数 4.2.2 百钱百…

批量png图片格式转eps格式

问题描述&#xff1a; 在利用Latex排版论文格式时&#xff0c;当插入图片的格式要求为eps格式 &#xff0c;当然也适用于其它文件格式转换 解决方法&#xff1a; 推荐一格好用的免费在线格式转换工具&#xff1a;https://cdkm.com/cn/ 操作步骤&#xff1a; step1:打开网址 ste…

Access注入---Cookie注入

Access注入----Cookie注入Access数据库&#xff08;微软&#xff09; 逐渐淘汰 &#xff08;没有库的概念&#xff0c;是表的集合&#xff09;Access没有系统自带库Cookie注入&#xff08;头注入HEAD注入的&#xff09;php中产生Cookie注入的可能性小&#xff0c;但ASP产生Cook…

CCF CSP认证 历年题目自练Day21

题目一 试题编号&#xff1a; 201909-1 试题名称&#xff1a; 小明种苹果 时间限制&#xff1a; 2.0s 内存限制&#xff1a; 512.0MB 题目分析&#xff08;个人理解&#xff09; 先看输入&#xff0c;第一行输入苹果的棵树n和每一次掉的苹果数m还是先如何存的问题&#xf…

船用法兰铸钢止回阀

声明 本文是学习GB-T 586-2015 船用法兰铸钢止回阀. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了法兰连接尺寸和密封面按 CB/T 4196、GB/T 2501 的船用法兰铸钢止回阀(以下简 称止回阀)的分类和标记、要求、试验方法、检验规…

计算机竞赛 行人重识别(person reid) - 机器视觉 深度学习 opencv python

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习行人重识别(person reid)系统 该项目…

RabbitMQ-第四种交换机类型

接上文 RabbitMQ-主题模式 1 第四种交换机类型 header:它是根据头部信息来决定的&#xff0c;在我们发送的消息中是可以携带一些头部信息的&#xff0c;类似与HTTP&#xff0c;我们可以根据这些头部信息来决定路由到哪一个消息队列中。 修改配置类内容 Configuration public…