Springboot复习

news/2024/5/21 15:10:48/文章来源:https://blog.csdn.net/xixihaha_coder/article/details/127276254

本笔记来自b站尚硅谷

文章目录

  • Springboot
  • HelloWorld原理
    • @Value获取值和@ConfigurationProperties获取值比较
  • @PropertySource 和 @ImportResource
  • profile
  • 自动配置原理
  • 整合日志
    • 指定配置
  • 全面接管SpringMVC
  • 启动流程
  • 自定义starter
  • dev-tools
  • yml提示
  • 指标监控

Springboot

在这里插入图片描述


在这里插入图片描述


HelloWorld原理

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

配置文件中 last-name 和 lastName是一样的

@Value获取值和@ConfigurationProperties获取值比较

在这里插入图片描述

@PropertySource 和 @ImportResource

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

profile

在这里插入图片描述

在这里插入图片描述

自动配置原理

在这里插入图片描述

自动配置

相关注解@configurationProperties 读配置文件的配置 能配什么属性都是靠xxxProperties类,这些属性又是和配置文件绑定的

根据不同的条件判断,判断这个配置类是否生效

在这里插入图片描述

我们可以通过用debug=true属性﹔来让控制台打印自动配置报告,这样我们就可以很方便的知道哪些自动配置类生效

整合日志

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用

在这里插入图片描述

指定配置

在这里插入图片描述

在这里插入图片描述
如果使用的是logback-spring.xml 这个名字, 就没有以上的配置 不然报错~

全面接管SpringMVC

  • 肯定不推荐加@EnableWebMvc

在这里插入图片描述

在这里插入图片描述

启动流程

1.创建springapplication对象

在这里插入图片描述

2 运行run方法

扫描创建加载所有组建的地方 refreshContext(context);

自定义starter

1.先创建一个空项目,后创建一个maven工程

在这里插入图片描述

2.再创建一个springboot项目

在这里插入图片描述

springboot项目结构

在这里插入图片描述

<dependencies><!--		所有starter的基本配置--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies>

HelloService

package com.tian.starter;public class HelloService {HelloProperties helloProperties;public String sayHello(String name){return helloProperties.getPrefix()+"-"+name+"-"+helloProperties.getSuffix();}public HelloProperties getHelloProperties() {return helloProperties;}public void setHelloProperties(HelloProperties helloProperties) {this.helloProperties = helloProperties;}
}

HelloProperties

package com.tian.starter;import org.springframework.boot.context.properties.ConfigurationProperties;@ConfigurationProperties(prefix = "tian.hello")
public class HelloProperties {private String prefix;private String suffix;public String getPrefix() {return prefix;}public void setPrefix(String prefix) {this.prefix = prefix;}public String getSuffix() {return suffix;}public void setSuffix(String suffix) {this.suffix = suffix;}
}

HelloServiceConfiguration

@Configuration
@ConditionalOnWebApplication //web才生效
@EnableConfigurationProperties(HelloProperties.class)
public class HelloServiceConfiguration {@AutowiredHelloProperties helloProperties;@Beanpublic HelloService helloService(){HelloService helloService = new HelloService();helloService.setHelloProperties(helloProperties);return helloService;}
}

spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.tian.starter.HelloServiceConfiguration

maven项目 引入依赖

<dependencies><!--    引入自动配置模块--><dependency><groupId>com.tian.starter</groupId><artifactId>tian-spring-boot-starter-autoconfigurer</artifactId><version>0.0.1-SNAPSHOT</version></dependency>
</dependencies>

两个项目打包

new 一个springboot项目测试

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入自定义的starter-->
<dependency><groupId>com.tian.starter</groupId><artifactId>tian-spring-boot-starter</artifactId><version>1.0-SNAPSHOT</version>
</dependency>

controller

@RestController
public class HelloController {@AutowiredHelloService helloService;@GetMapping("/hello")public String hello(){return  helloService.sayHello("tian");}
}

访问测试

在这里插入图片描述

dev-tools

在这里插入图片描述

ctrl+f9 重新编译

yml提示

在这里插入图片描述

@RequestAttribute

在这里插入图片描述

知识点

redisTemplate 底层用的就是Lettuce

指标监控

springboot Actuator

1.导入依赖

在这里插入图片描述

直接访问

localhost:8080/actuator/health

但是不能访问某些端点 比如 localhost:8080/actuator/beans

可以配置暴露所有端点

在这里插入图片描述

最常用的Endpoint

  • Health:监控状况
  • Metrics:运行时指标
  • Loggers:日法记录

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

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

相关文章

Python函数练习题:通讯录管理程序实战案例

嗨害大家好鸭&#xff01;我是小熊猫❤ 好久没有整实战案例类文章辽 今天就来整一整~ 功能简介 实现一个通讯录管理程序&#xff0c;使用函数来实现程序&#xff0c;采用模块化的程序设计方法&#xff1a; 划分通讯录程序的功能模块&#xff0c;使用函数实现相应的功能首先…

数据湖-hudi概述

前言 数据湖是目前比较热的一个概念&#xff0c;许多企业都在构建或者计划构建自己的数据湖。 数据湖是一个集中式存储库&#xff0c;允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据&#xff08;无需先对数据进行结构化处理&#xff09;&#xff0c;并运…

nginx80转443

多了一个server&#xff0c;做了一个301的跳转 server { listen 80; server_name www.web1.com web1.com; &#xff08;这里是可写别名的&#xff0c;第二个是别名&#xff09; return 301 https://www.web1.com$request_uri; &#xff08;当别人访问80&#xff0c;让它转到…

智能网联-浅谈基于PKI的车联网应用服务安全

智能网联-浅谈基于PKI的车联网应用服务安全 面对车联网快速发展趋势&#xff0c;信息安全是一项必要的防护措施。车端应用数字证书可认证合法身份&#xff0c;保障数据加密通信&#xff0c;防止信息的泄露与攻击。基于PKI的车联网应用服务安全认证体系框架&#xff0c;从国家层…

Java多线程的创建与Thread类的方法及使用

Java多线程的创建与Thread类的方法及使用&#x1f34e;一.Thread类的属性与方法&#x1f347;1.1什么是线程&#x1f347;1.2Thread类的基础常见的构造方法&#x1f347;1.3Thread的常见属性&#x1f347;1.4Thread类常用的基础方法&#x1f34e;二.Java线程的创建&#x1f347…

6步搭建一个飞机大战游戏

摘要&#xff1a;本文以华为云软件开发平台DevCloud为例&#xff0c;展示飞机大战游戏开发的DevOps实践流程。DevOps实践 DevOps实践是一种开发、测试运维一体化的模式&#xff0c;其实践的外在表现一般包括了如代码仓库、构建、测试、发布、配置、监控等工具形成的一个完整的…

引擎之旅 Chapter.3 文件系统

文章目录引言在此之前...Unicode和ASCIIC风格字符串的操作函数集合字符串操作字符串类型转换Part1&#xff1a;操作文件名和文件路径Part2&#xff1a;单个文件的读写文件打开的模式TFile的定义Part3&#xff1a;异步文件I/O异步I/O线程文件类中的异步方法引言 为什么会将文件…

数据中台开源解决方案(一)

数据中台商业的解决方案有很多,开源框架种类繁多,每一个模块都有很多开源的套件。以查询引擎为例,可以使用的开源工具有MySQL、Redis、Impala、MongoDB、PgSQL等。可以根据实际业务需要,选择合适的开源套件。 可供选择的解决方案太多,重点推荐开源解决方案,框架图如下图所…

【RCJ-2 AC220V 0.015A静态冲击继电器】

系列型号 RCJ-2/48VDC冲击继电器 RCJ-2/110VDC冲击继电器 RCJ-2/220VDC冲击继电器 RCJ-2/100VAC冲击继电器 RCJ-2/127VAC冲击继电器 RCJ-2/220VAC冲击继电器 RCJ-3/220VAC冲击继电器 RCJ-3/127VAC冲击继电器 RCJ-3/100VAC冲击继电器 RCJ-3/220VDC冲击继电器 RCJ-3/110VDC冲击继…

【论文笔记】CIKM‘22 & Amazon | (Navip) 推荐系统中图神经网络的去偏邻域聚合

目录1. Introduction2. Related Work2.1 基于GNN的推荐2.2 逆倾向评分IPS3. 模型3.1 Navip4. 实验结果本文是亚马逊在CIKM 2022的一篇工作 论文地址&#xff1a;https://arxiv.org/pdf/2208.08847.pdf 问题 图形神经网络(GNN)对于曝光偏差的脆弱性导致模型偏差&#xff0c;产生…

09-Pytorch中的序列化容器

目录 1.梯度消失和梯度爆炸 1.1 梯度消失 1.2 梯度爆炸 1.3 解决梯度消失或梯度爆炸的经验 2.nn.Sequential 3.nn.BatchNorm1d 4.nn.Dropout 1.梯度消失和梯度爆炸 在使用pytorch中的序列化容器之前&#xff0c;我们先来了解一下常见的梯度消失和梯度爆炸的问题。 1.1 …

②、HTML 元素学习

HTML 元素 HTML 文档由 HTML 元素定义。 HTML 元素 *开始标签常被称为起始标签&#xff08;opening tag&#xff09;&#xff0c;结束标签常称为闭合标签&#xff08;closing tag&#xff09;。 HTML 元素语法 HTML 元素以开始标签起始HTML 元素以结束标签终止元素的内容是开始…

Class02

Class02 1.自动类型值转换 隐式类型转换 显式类型转换 隐式类型转换&#xff08;自动类型转换&#xff09; 隐式类型转换是小范围向大范围转换 实际上小范围包含在大范围内 整数类型的默认类型为int 浮点数类型的默认类型为double 显式类型转换&#xff08;强制类型转换&am…

linux 预读机制 (linux4.14)

一、基本概念 设计背景 文件一般是顺序访问的&#xff0c;访问[A, B]范围的数据后&#xff0c;接下来很可能访问[B1, BN]数据。由于访问磁盘、flash等存储器件比较耗时&#xff0c;在访问 [A, B]的时候&#xff0c;如果提前把[B1, BN]数据从存储器件读取到ram中&#xff0c;那…

TTN服务器LoRaWAN网关配置流程

在LoRaWAN物联网网络中&#xff0c;LoRaWAN网关起到了绝对核心的作用&#xff0c;它在整个网络中像是一座桥梁建立起网络服务器与终端节点的通信&#xff0c;下面我们将简单介绍如何使用E890-470LG11网关实现TTN服务器与终端节点的通信。 首先&#xff0c;在LoRaWAN通信中&…

亿佰特LoRaWAN入网TTN并订阅MQTT消息

一、LoRaWAN节点入网 1.注册并登录TTN账号。 2.添加网关。Gateway EUI可自定义。 3.切换到亿百特网关配置网页&#xff08;http://192.168.10.1/&#xff09;,配置网关。 4.切抱TTN网页&#xff0c;创建app&#xff0c;Application ID可任意取&#xff0c;只要不重复就行&…

MSRN(多尺度超分辨率重建)

目前的研究倾向于使用更深层次的卷积神经网络来提高性能。然而&#xff0c;盲目增加网络深度不能有效改善网络。更糟糕的是&#xff0c;随着网络深度的增加&#xff0c;训练过程中出现了更多的问题&#xff0c;需要更多的训练技巧。在本文中&#xff0c;我们提出了一种新颖的多…

TRC丨艾美捷TRC 1-Hexyl-2-phenyl-4说明书

1-Alkyl-2-aryl-4-(1-naphthoyl)pyrroles 作为大丨麻素 CB1 和 CB2 受体的高亲和力配体。 艾美捷TRC 1-Hexyl-2-phenyl-4化学性质&#xff1a; 目录号H297400 化学名称1-Hexyl-2-phenyl-4-(1-naphthoyl)pyrrole JWH-147 同义词JWH-147&#xff1b;(1-己基-5-苯基-1H-吡咯-3-基…

数据库06-Redis 强化

目录 Redis 强化 缓存使用原则 缓存淘汰策略 缓存穿透 缓存击穿 缓存雪崩 Redis持久化 RDB:(Redis Database Backup) AOF(Append Only File): Redis存储原理 Redis集群 Redis 强化 缓存使用原则 什么时候,什么样的数据能够保存在Redis中? 1.数据量不能太大 2.使…

计算机操作系统:输入输出管理知识点汇总(简化版)

说明 博客作为笔记备份&#xff0c;不定时更新参考内容为王道考研《计算机操作系统考研复习指导2023》简化版仅进行了知识点汇总&#xff0c;详细知识点没有记录&#xff0c;主要用来搭知识体系框架思维导图为文字版导出的&#xff0c;可将文字内容粘贴到思维导图软件自动生成…