SpringBoot主程序运行及配置文件

2023-11-03

主程序运行

@SpringBootApplication
public class SpringbootApplication {

    public static void main(String[] args) {

        SpringApplication.run(SpringbootApplication.class, args);
    }

}
  • 推断应用的类型是普通项目还是web项目
  • 找并加载所有可用初始化器,设置到initializers属性中
  • 找出所有的应用的应用程序监听器,设置到listeners属性中
  • 推断并设置main方法的定义类,找到运行的主类

配置文件

springBoot使用一个全局的配置文件,配置文件的名称是固定的

  • application.propertoes

    语法结构:key=value

例如:server.port=8080
  • application.yml

    语法结构:key:空格 value

 server:
port: 8080

配置文件的作用:修改SpringBoot自动装配的默认值,因为SpringBoot在底层都给我们配置好了

yml可以直接给实体类赋值,如下所示


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

@Component
public class Dog {

    private String name;
    private Integer age;

    public Dog() {
    }

    public Dog(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private Integer age;
    private Boolean student;
    private Date birth;
    private Map<String,Object> maps;
    private List<String> list;
    private Dog dog;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Boolean getStudent() {
        return student;
    }

    public void setStudent(Boolean student) {
        this.student = student;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

    public Map<String, Object> getMaps() {
        return maps;
    }

    public void setMaps(Map<String, Object> maps) {
        this.maps = maps;
    }

    public List<String> getList() {
        return list;
    }

    public void setList(List<String> list) {
        this.list = list;
    }

    public Dog getDog() {
        return dog;
    }

    public void setDog(Dog dog) {
        this.dog = dog;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", student=" + student +
                ", bitch=" + birth +
                ", maps=" + maps +
                ", list=" + list +
                ", dog=" + dog +
                '}';
    }
}

application.yml中:

#对象
person:
  name:age: 20
  student: false
  birth: 1998/1/1
  maps: {k1: v1,k2: v2}
  list:
    - code
    - music
  dog:
    name: 汪汪汪
    age: 1
//程序的主入口
@SpringBootTest
class SpringbootApplicationTests {

    @Autowired
    private Person person;

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

}

控制台
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot主程序运行及配置文件 的相关文章

  • dede php调用指定文章,织梦dede怎么调用指定的文章

    在织梦dede网站首页调用站内新闻是必不可少的 但是有的时候不能根据自己的需要来调用指定的文章 想要调用自己指定的文章还要做一些修改 在网站中调用指定文章可以使用织梦默认的标签idlist 在调用的时候使用以下代码 dede arclist
  • 达梦数据库JDBC连接池断开自动重连设置

    一 场景 在网络状况不是非常良好 经常会出现暂时性的拥塞或者断开的情况 而且当我们重启数据库时也会发生类似的情况 所以需要配置中间件的连接池来实现连接测试以及自动重连 通过重新配置连接池 成功解决了这个问题 下面会给出一份数据源配置参数详单
  • show processlist 命令详解

    如果有 SUPER 权限 则可以看到全部的线程 否则 只能看到自己发起的线程 这是指 当前对应的 MySQL 帐户运行的线程 mysql gt show processlist Id User Host db Command Time St
  • vue Table组件封装 - 渲染列表、不同表格列、分页、位于编辑面板中

    效果描述 点击输入框弹出table面板 面板包括标题 列表分页 检索条件 确定取消安钮 单选全选框 面板回显已选中条目 切换页时仍能显示 思路 组件中包括面板整体样式 标题 按钮 分页组件 页面中将搜索条件 th tr用slot传入组件模板
  • mysql order by null last_order by 语句出现null的情况

    Oracle 结论 order by colum asc 时 null默认被放在最后 order by colum desc 时 null默认被放在最前 nulls first 时 强制null放在最前 不为null的按声明顺序 asc d
  • 钢条切割问题(Java)——暴力法(Brute force)

    Rod Cutting题目 注意 本题采用txt文件读入 屏幕输出 如果需要屏幕读入屏幕输出 可以留言或者自己改代码 说明 暴力法 Brute force 列出每种切割方案 比较哪种切割方案利润最大 所需时间T O 2 n import j
  • 自己动手编译octave 4.0.0

    今天在做作业的时候 发现imread不能使用 说要安装相应的图形包 可是要安装image时 却发现要求4 0 0版本 而我本机的linux系统ubuntu15 04只有3 8 x的安装源 没办法 只能自己动手编译 安装啦 sudo apt
  • java算法-冒泡排序

    算法原理 例如我们有一个数组 我们如果需要把较大的元素排在后面 把小的元素排在前面 那么需要从头部到尾开始比较操作 依次比较相邻的两个数 如果第一个比第二个大 就交换他们两个 往后对每个相邻的元素都做这样的比较 交换操作 这样到数组尾部时
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • ip和端口号的正则表达式

    目录 前言 1 ip地址 2 端口号 3 ip 端口号 前言 ip以及端口号的正则表达式 在逻辑应用比较广泛 前置知识点 匹配开头第一个 匹配的结尾 对于更多的知识点可看我java框架 java框架零基础从入门到精通的学习路线 超全 1 i
  • C++编程之构造函数

    学习到了C 的构造函数了 之前上的课比较简单加上自己也有一定的编程基础 所以一直都没觉得有什么压力 今天的课感觉有点难了 构造函数的作用 在对象被创建时 使用特定的值构造对象 将对象初始化为一个特定的初始状态 例如 希望在构造一个Clock
  • python(matplotlib)绘制直方图及阶梯图

    直方图是python绘图中常见的图形之一 以下将介绍5种不同的直方图 然后介绍阶梯图函数以及用阶梯图绘制正弦曲线 直方图的绘制 1 利用matplotlib库文件 画出如下的显示网格线的彩色直方图 代码如下 柱状图带网格线的绘制 impor
  • 云测平台

    1 云测平台 1 进入首页点击标准兼容测试 2 接着点击开始测试 2 上传测试的应用 3 上传应用 完善信息
  • 【YOLOv7】训练自己的数据集 - 目标检测

    YOLOv7训练自己的数据集 1 准备深度学习环境 1 1 代码克隆 1 2 环境安装 1 3 权重下载 1 4 环境测试 2 准备数据 2 1 yolo格式的数据集准备 3 配置训练的相关文件 3 1 修改数据配置文件 3 2 修改模型配
  • 原码表示

    原码的本质 符号位 绝对值 我们下面分析的类型主要是分析纯小数和纯整数的情况 因为在计算机里面 实数是可以转换成下面这两种形式的 纯小数 纯整数 n 位二进制数来表示这个数的原码 符号位占一位 还剩 n 1 位数值位 n 1 位能表达的最大
  • 虚拟机VMware、linux、WSL、Dorker、Multipass选择时

    引言 家里台式机没有装完整开发环境 今天测试一个程序 需要安装个mysql 可以安装个win的mysql 附上window的mysql地址 MySQL Download MySQL Installer 也可以虚拟机里安装一个mysql 登录
  • 一些常用的公共 DNS 服务器 IP 地址

    公共 DNS 服务器 IP 地址 名称 DNS 服务器 IP 地址 阿里 AliDNS 223 5 5 5 223 6 6 6 CNNIC SDNS 1 2 4 8 210 2 4 8 114 DNS 114 114 114 114 114
  • 编写一个IDEA插件之:自动生成Java代码

    我很喜欢IDEA的一键自动生成代码功能 例如自动生成构造方法 字段的Get Set方法 ToString方法等等 除此之外 也有一些插件提供自动生成代码的功能 例如我们所熟悉的GsonFormat插件 使用该插件可以为我们快速的解析json
  • 简易unity网络游戏架构(个人理解)

    客户端架构 客户端流程 点击UI gt panel调用Request的send方法 gt 调用基类得得send gt 调用face的send方法 gt 调用clientManager的send方法 gt 调用message的包装方法 gt
  • Hexo

    前言 搭建博客两个必要条件 博客框架 托管平台 这里框架我们采用Hexo 而平台大部分人会选择GitHub 这里我选择的是Gitee 属于国内的代码托管平台 相比于GitHub来说 访问速度更快 更稳定 环境要求 Git Nodejs 安装

随机推荐

  • OpenAPI安全合规检查

    OpenAPI安全合规检查是指对使用OpenAPI进行接口开发的系统进行安全性和合规性检查 确保系统在设计 开发和运行过程中符合相关的安全标准和法律法规要求 它包含以下内容 访问控制 检查系统是否实现了适当的身份验证和权限管理机制 以确保只
  • 使用HTTP协议发送POST请求

    HTTP发送POST请求常用的类是HttpClientUtil类 这个类提供三个方法 分别是sendPostByForm sendPostByJson sendPostByXml sendPostByForm 处理 application
  • 预编译合约使用问题 | FISCO BCOS开发问题排查

    预编译合约是否支持event事件日志功能 目前不支持 该特性正在规划中 用户可以关注后续的更新 了解更多干货内容 请关注FISCO BCOS开源社区公众号 访问FISCO BCOS代码仓库可下载项目所有源代码 https github co
  • LeetCode(Python)—— 合并两个有序链表(简单)

    合并两个有序链表 概述 将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 输入 l1 1 2 4 l2 1 3 4 输出 1 1 2 3 4 4 输入 l1 l2 输出 输入 l1 l2 0 输
  • 用 VSCode 写 Python,这 14 个插件不容错过

    可以说 Visual Studio Code 这个编辑器 让微软在开源社区赢回了王者段位 要知道全球 2400 万开发者中有 1400 万称 VSCode 为自己的家 再加上 GitHub 和 VSCode 的结合 几乎所有的程序员的都离不
  • 惠普服务器c3000怎么用显示器,HP BladeSystem c3000

    HP BladeSystem c3000 机箱 HP BladeSystem c3000 Platinum 机柜为 HP BladeSystem 带来了全新功能 c3000 以三个单独的细分市场为目标 1 需要 2 8 台刀片服务器的远程站
  • The Process class relies on proc_open, which is not available on your PHP installation报错解决

    同事laravel框架开发的代码有如下错误日志 production ERROR The Process class relies on proc open which is not available on your PHP instal
  • 服务器的作用

    服务器的作用 1 服务器就好像是一个电话总台一样 而其他的网络设备就像是公共电话 所有的数据传输都要经过服务器的处理 2 服务器作为一个网络节点 为用户提供数据处理服务 最常见的就是使用服务器为自己搭建一个网站 3 服务器运算能力强 可以长
  • Kali更新源时候出现——下载签名无效,解决办法

    一 更新源 vim etc apt sources list 复制下面源码 选择一个 粘贴到里面 并把原来的源进行注释 中科大 deb http mirrors ustc edu cn kali kali rolling main non
  • C++中的map用法详解

    目录 1 map的介绍 2 map的操作 1 定义map类型 2 输出map中的元素 3 添加数据 4 查找数据 5 删除数据 1 map的介绍 map是C 中STL中的一个关联容器 以键值对来存储数据 数据类型自己定义 它的内部数据结构是
  • PaddleX入门教程2:搭建并配置Paddlex的推理环境(CPU版本)

    上一个教程中 同学们掌握了利用PaddleX完成训练并发布模型后 接下来我们将通过Python脚本来调用该模型 并做一些基础应用 本节教程主要教同学们从零搭建调用PaddleX导出模型的运行环境 1 运行PaddleX推理需要安装Visua
  • springboot学习(十)web工程扩展

    登录接口 这里是基于演示代码写的登录接口 实际肯定不会这么low 会出现get请求 包括参数注解也会用的是 RequestBody而不是 RequestParam Controller public class LoginControlle
  • Mac下,在VirtualBox上创建一台虚拟机

    1 Mac下 在VirtualBox上创建一台虚拟机 主机 Mac 32位 内存8G 虚拟机 Oracle VM VirtualBox 版本 软件 Linux安装软件 版本6 2 ISO映像 rhel server 6 2 i386 dvd
  • 【浅谈PC市场】

    市场调研机构Canalys数据显示 今年一季度 中国市场整体PC出货量同比下降24 至890万台 已是连续第五个季度下跌 今年截至618结束 都没有一家主要的PC厂商愿意发战报 PC市场怎样走出寒冬 谈谈你的理解和看法 PC市场在近年来确实
  • 基于VB脚本开发的机器人高级语言进行轨迹规划演示

    采用VB基本语言 在其中嵌入机器人运动控制指令 扩展成机器人高级编程语言 本例子演示的是高级螺旋线轨迹规划 movep 0 0 0 0 0 0 a 0 2 b 0 2 12 56 for i 0 to 12 56 step 0 01 x a
  • MNIST手写数字库格式转换(c++可用的格式)

    static int ReverseInt int i 转换魔数 读取数据库中的图片数 行数 列数等信息 unsigned char ch1 ch2 ch3 ch4 ch1 i 255 ch2 i gt gt 8 255 ch3 i gt
  • 在Windows7环境下使用GIT BASH免输入密码

    背景 根据一路向北的教 Windows下TortoiseGit over Putty or Openssh提交项目到GitLab 安装了TortoiseGit客户端 并完成在Gitlab上公钥的部署 但是有些操作必须通过GITbash命令行
  • 现代教育技术计算机网络试题及答案,《现代教育技术》期末复习题及答案

    现代教育技术期末复习1 一 填空题 1 教育技术就是人类在教育活动中所采用的一切 和方法的总和 它分为有形的技术 物化形态 和 的技术 智能形态 两大类 答案 技术手段 无形 2 学习资源主要包括教学材料 和 答案 支持系统 学习环境 3
  • UE4c++ Brush创建

    前言 UE4常用的new FSlateBrush的方式与正常的SlateStyle的方式就不说了 这类的文章很多 这里主要仿照引擎源码加载图片的方式加加载 参考源码 FTestStyle h class FMainStyle public
  • SpringBoot主程序运行及配置文件

    主程序运行 SpringBootApplication public class SpringbootApplication public static void main String args SpringApplication run