SpringBoot学习(4)(yml配置信息书写和获取)(SpringEL表达式语言)

devtools/2024/10/20 5:40:22/

目录

1、yml配置信息的书写和获取介绍

2、案例学习

(1)配置信息的书写注意事项

(2)配置信息的获取

(3)注解@Value

(4)相同层级的共同前缀,可以使用下面这个注解

3、springEL语言

(1)关于@Value注解

(2)基于配置文件的注入

(3)基于非配置文件注入


1、yml配置信息的书写和获取介绍

  • 第一种方式,只用写配置信息就行,不用获取配置信息
  • 在开发中,常用的第三方技术比如有:radis、mybatis、mybatisplus等等。如果程序要使用这些,就要引入它的起步依赖,再根据提供的官方文档,然后根据说明写配置信息。编写好配置信息之后,springboot工程启动后,起步依赖内部会自动的获取这些配置信息,然后使用(SpringBoot如何整合第三方技术??)
  • 第二种方式,不仅要书写配置信息,还要写代码去获取书写的配置信息

2、案例学习

涉及到的成员变量——>

  • 邮箱:user
  • 授权码:code

(不是密码,是邮箱服务专门为三方客户端准备的一种用于身份验证的信息,授权码需要自己去申请)

  • 服务器域名:host。如果是qq邮箱:smtp.qq.com
  • 身份验证开关:auth。指的是在发送邮件前,是否对发件人的信息进行校验,验证合不合法。一般为true

(1)配置信息的书写注意事项
  • 值前边必须要有空格,作为分隔符
  • 使用空格进行缩进表示层级关系,相同的层级左侧要对齐

  • 如果当需要用数组配置"爱好"的话,那它的数组项就是:横杠+空格+值 组成


(2)配置信息的获取
  • springboot提供了一个注解:@Value。可以使用这个注解来获取配置文件里面的信息。
  • 要使用这个注解,还要结合Spring的EL表达式(下面有介绍)
(3)注解@Value

(花括号中写一个键名,就可以获取配置文件里面的指定键对应的值

  • 具体操作如下(注意在注解@Value里注意层级关系用"."连接表示)

就是通过使用注解@Value,把配置文件里指定键名的数据给它封装到实体类里对应的成员变量

(4)相同层级的共同前缀,可以使用下面这个注解

(要保证成员变量里的名字与配置文件里的键名要一样,这样springboot才会帮你完成自动封装)

3、springEL语言

​​​​​​Spring Expressiojien Language (SpEL) 是一种功能强大的表达式语言,设计用于简化在Java Web应用程序中的表达式处理。一种可以与一个基于spring的应用程序中的运行时对象交互的东西。


(1)关于@Value注解


(2)基于配置文件的注入


(3)基于非配置文件注入


http://www.ppmy.cn/devtools/107327.html

相关文章

ChatGPT、Claude 和 Gemini 在数据分析方面的合作(第 3 部分):机器学习的最佳 AI 助手

人工智能如何加速你的机器学习项目从特征工程到模型训练 人工智能如何加速你的机器学习项目从特征工程到模型训练 欢迎来到雲闪世界。 在本文中,我们将重点介绍这些 AI 工具如何协助机器学习项目。机器学习是数据科学的基石。虽然使用 LLM 模型完全自动化建模过程具…

linux批量修改文件内容

如题 在terminal中输入: find ./ -name “*.py” | xargs sed -i ‘s/A in range(0/B in range(1/g’ 含义为,在本目录下递归搜索.py文件,将所有py文件中含有 “A in range(0” 的字段修改为 “B in range(1”

OpenCV绘图函数(11)计算文本字符串在特定字体、尺寸和厚度下的大小的函数getTextSize()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算一个文本字符串的宽度和高度。 函数 cv::getTextSize 计算并返回包含指定文本的矩形框的尺寸。也就是说,下面的代码渲染一些文本…

心觉:如何填平想象和愿望之间的鸿沟?

愿望是什么? 你想变得富有 你想减掉20斤 你想拥有自己的Dream Car 你想拥有S型身材 这些都是愿望,非常美好的想法或者目标 想象是什么? 我能变得富有吗,我啥也不会,除了上班,就是上班 我怎么可能减肥…

【知识点】图论续篇 - 最短路算法合集

我不会跟大家说我两个月前就写好了,只是今天才发出来。 本文概述 最短路算法,见名知意,就是用于求出图中从某个顶点到另一个顶点最短距离的算法。最短路算法的应用极其广泛。本文将会以求解最短路为中心,围绕着展开叙述一些常见的…

如何实现对窗口window的viewtree进行dump Hierarchy-安卓framework实战开发

背景 有学员粉丝朋友在群里面问到一个如何针对普通的window进行dumpsys相关的viewtree问题,即展示每个window的view的层级树。比如我们知道activity的话可以使用如下命令进行dump adb shell dumpsys activity com.android.launcher3/com.android.launcher3.uiover…

802.11 中 scrambler的matlab仿真

802.11a和802.11n中的scrambler仿真不可以直接用matlab中的comm.Scrambler函数。因为这个函数实现的是multiplicative scrambling,而802.11a和802.11n中的scrambler使用的是additive scrambling。additive scrambling使用异或操作进行扰码,multiplicativ…

Linux 磁盘管理-磁盘接口类型和分区看这一篇就够了

今天给伙伴们分享一下Linux 磁盘管理-磁盘接口类型和分区,希望看了有所收获。 我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得…