快速搭建springboot程序

news2024/11/28 12:36:41

SpringBoot快速入门

观狂神讲解视频笔记

【狂神说Java】SpringBoot最新教程IDEA版通俗易懂

第一个springboot程序

使用 idea 可以快速构建一个 springboot 的项目:

1.创建新项目,选择 spring initializr(会默认通过官网快速构建)

image-20230104145846798

2.填写项目信息

image-20230104150012371

3.选择初始化依赖(直接勾选web就行)

image-20230104150121784

4.创建完成

image-20230104151421557

5.编写HTTP接口进行测试

在主程序的同级目录下,新建 controller 包,再在包中新建一个 Controller 类:

image-20230104151915133

从主程序启动项目,在浏览器查看结果:

image-20230104153454544

在启动时还遇见了版本问题:无效的源发行版:15

类文件具有错误的版本 61.0, 应为 52.0

解决请看:Idea中出现java: 错误: 无效的源发行版:15

Springbot启动报错-类文件具有错误的版本 61.0, 应为 52.0

6.将项目打包成 jar 并测试

如果打包成功,则会在 target 目录下生成一个 jar 包

image-20230104153909831

将 jar 包拿出来单独运行:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-miwfNCWT-1672881526483)(https://youxing-typora.oss-cn-qingdao.aliyuncs.com/image-20230104155449152.png)]

小技巧

更改端口号

在配置文件中直接改就行:

image-20230104160044738

更改启动时显示

在项目下的 resources 目录下新建一个 banner.txt 即可。

图案可以到 https://www.bootschool.net/ascii 网站生成,然后拷贝到 txt 文件中即可!

image-20230104160720949

yaml语法

SpringBoot 使用一个全局的配置文件,配置文件可有两种类型:

  • application.properties

    • 语法结构 :key=value
  • application.yml

    • 语法结构 :key:空格 value

其中,yaml 格式更为推荐。

yaml给实体类注入值

1.编写实体类

通过@value注入属性值

package com.example.demo.pojo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component  // 注册bean到容器
public class Dog {

    @Value("二哈")
    private String name;
    @Value("99")
    private Integer age;

    //有参无参构造、get、set方法、toString()方法  
}

2.在SpringBoot的测试类下注入狗狗测试

package com.example.demo;

import com.example.demo.pojo.Dog;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class DemoApplicationTests {

    @Autowired	//将狗狗自动注入进来
    Dog dog;

    @Test
    void contextLoads() {
        System.out.println(dog.toString());
    }

}
image-20230104202116529

3.改用yaml配置的方式进行注入

image-20230104202410144

在 Dog 类中使用@ConfigurationProperties即可:

image-20230104202758329

两种赋值方式对比:

image-20230104222919653

松散绑定:比如 yml 中写的 last-name,可以相当于 lastName,也就是属性为 lastName 也能赋值。

JSR303数据校验: 这个就是在字段前可以增加一层过滤器验证,可以保证数据的合法性。

image-20230104224154051

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

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

相关文章

【编程经验】如何学习编程语言的秘诀,编程语言选择,按需学习

大家好,欢迎来到停止重构的频道。最近有些朋友问我们如何学习编程、初学软件的问题,我们打算出几期内容聊聊我们的建议。本期聊一下如何学习编程语言。我们将压箱底的诀窍介绍给新手朋友,当然这仅仅是我们的一些经验,并不是绝对的…

连续四年第一!

近日,IDC发布《2022 H1中国AI云服务市场研究报告》,百度智能云连续四年市场份额第一,整体占比28.1%,在"人体人脸"、"图像视频"‍两个规模最大的子市场继续保持第一。‍‍ 在图像视频等多个领域蝉联市场第一 …

PLC算法系列之数值积分器(Integrator)

数值积分和微分在工程上的重要意义不用多说,闭环控制的PID控制器就是积分和微分信号的应用。流量累加也会用到。有关积分运算在流量累加上的应用,请参看下面的文章链接: SMART S7-200PLC流量累计算法实现(梯形图算法详解+优化)_RXXW_Dor的博客-CSDN博客_smart 200 流量积分…

【bootstrap】使用,初学者的总结

官网&#xff1a;bootstrap中文网 首页点击v3文档&#xff0c;然后下载最左边的那个。 解压后把里面的css和js文件复制过去&#xff0c;因为也要用到jQuery&#xff0c;所以要把jQuery.min.js也一起放入js文件夹。 然后&#xff0c;就是导入&#xff1a; <link rel"s…

Java互联网支付系统源码,基于SpringBoot,含支付宝,微信,银联详细代码案例

spring-boot-pay 支付服务&#xff1a;支付宝&#xff0c;微信&#xff0c;银联详细 代码案例 (支付宝和微信支付测试均需要企业认证&#xff0c;如果没有企业推荐使用 [服务商模式] 申请开通个人商户 也可以测试 )&#xff0c;项目启动前请仔细阅读 注意事项 :fa-hand-o-left…

快速上手 BearPi-HM Micro 一个带显示屏的开发板

一、前言 为什么要写这篇文章呢? 华为官方给OpenHarmony分:南向开发 和 北向开发 北向开发:应用APP开发 南向开发:设备开发 带显示屏的设备,可以更好的使用可视化界面,能更直接的利用烧录到设备里面的代码。 例如:冰箱上面的小的显示屏,可以更好的操控和观察当前冰箱…

一个 web 开发者眼中的技术美术(TA—Technical Artist)

Techical Artist 的中文翻译是技术美术&#xff0c;相比于直译为技术艺术家&#xff0c;技术美术这个称谓让我感觉更加亲切&#xff0c;当然艺术家这个称谓也很好&#xff0c;很高级 :p 。在游戏行业里我们常常能听到美术这个职业&#xff0c;而技术美术&#xff0c;从字面意思…

微信公众号活动策划方案怎么写?看完你也可以直接套用

一场成功的活动策划可以给企业带来相当可观的用户流量和曝光&#xff0c;前提是你的这份公众号活动策划方案是可执行和有回报的&#xff01; 毫不夸张的说&#xff0c;我们在写公众号活动策划方案之前&#xff0c;只要你搞清楚以下这几点&#xff0c;这个方案就可以说是成功了…

介绍一个MySQL参数检索工具

碰巧看到徐老师的这篇文章《MySQL的参数工具》&#xff0c;其中介绍了一个讲解MySQL不同版本参数的小工具&#xff0c;网站的作者是MySQL日本用户组的负责人Tomita。该网站能够提供不同版本MySQL的参数&#xff0c;包括不同版本之间的对比。当用户需要对MySQL进行升级、需要确认…

用javascript分类刷leetcode13.单调栈(图文视频讲解)

84. 柱状图中最大的矩形 (hard) 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 …

2022年总结与2023年展望

又是疫情的一年&#xff0c;所幸年尾的政策看来是要全面开放了&#xff0c;也算是一件好事了。但是明年会不会就要强制线下上课导致实习不方便&#xff0c;这也是个问题。 技术学习 确定了自己的方向是走C/CLinux后端开发方向&#xff0c;跟着课程学到了一个图床后端的项目&a…

前端页面插件集成-Markdown编辑器

页面插件集成-Markdown下载MarkDown的插件包引入css、js、Jquary文件定义一个textarea区域作为MarkDown的载体初始化Markdown编辑器最终效果下载MarkDown的插件包 下载地址如下&#xff1a; 下载传送门 点击Github下载&#xff0c;然后解压 解压之后将如下文件夹和 js 文件cop…

贷后联动管控指标与差异化案件的分配逻辑

在风控精细化运营的当下&#xff0c;贷后工作的开展&#xff0c;越来越需要精细化管理。如何做好相关的精细化管理工作&#xff0c;首先我们从这些贷后相关的名词如下开始熟悉&#xff1a; 贷后基本催收名词解释 Flow Rate 迁移率就是在贷后资产评估里最重要的报表了&#xf…

【C语言进阶】还说不会?一文带你全面掌握计算机预处理操作

目录 &#x1f34a;前言&#x1f34a;&#xff1a; &#x1f348;一、宏与函数&#x1f348;&#xff1a; 1.宏与函数对比&#xff1a; 2.宏与函数的命名约定&#xff1a; &#x1f353;二、预处理操作符&#x1f353;&#xff1a; 1.预处理操作符 " # "&#xff…

C语言学生成绩管理系统

程序示例精选 C语言学生成绩管理系统 如需安装运行环境或远程调试&#xff0c;见文章底部微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<C语言学生成绩管理系统>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 …

DFS算法-leetcode java题解

DFS算法-leetcode java题解 本文目录DFS算法-leetcode java题解leetcode 547. 省份数量leetcode 463. 岛屿的周长leetcode 200. 岛屿数量leetcode 130. 被围绕的区域leetcode 417. 太平洋大西洋水流问题leetcode 17. 电话号码的字母组合leetcode 22. 括号生成leetcode 39. 组合…

List 容器的接口使用、迭代器失效(仅erase)

目录 一、接口使用 ① 构造函数 ②迭代器 ③ 容量与元素修改 ④ remove ⑤remove_if ⑥ unique ⑦sort&#xff08;&#xff09; ⑧ merge() 二、对于迭代器失效问题 一、接口使用 ① 构造函数 void MyListTest1() {list<int> l1;list<int> l5(10, 5);vector…

〖产品思维训练白宝书 - 产品思维认知篇⑦〗- 聊一聊 产品经理 的工作内容与职责划分

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…

自定义类型【c语言】

前言&#xff1a; c语言提供了丰富的内置类型&#xff0c;但是在描述一些复杂对象的时候仍不能满足一定的功能&#xff0c;因此c语言为了支持我们能描述一些复杂对象给出了我们能自定义的一些类型&#xff0c;因此便有了自定义类型。 在之前我们已经初步对结构体进行相应的了解…

提升工作效率,领导都夸的开源数据可视化工具

echarts官网有很多好看的图例&#xff0c;怎么结合起来放到自己的项目中呢&#xff1f;比如这种酷酷的首页&#xff1a; 这种看起来美观又大方&#xff0c;自己要是能用上就好了。 其实这是可以的&#xff0c;echarts上有现成的图例和示例代码&#xff0c;咱们只要改改数据源就…