信步漫谈之SpringBoot配置相关注释

news/2024/11/20 19:30:41/文章来源:https://www.cnblogs.com/alfredinchange/p/18559072

目录
  • 目标
  • @ConfigurationProperties
  • @EnableConfigurationProperties
  • @Configuration
  • 示例代码
  • 参考资料(感谢)


目标

  • @EnableConfigurationProperties、@ConfigurationProperties、@Configuration 区别和用法

@ConfigurationProperties

  • 将我们项目中的 yaml 文件或者 properties 文件加载到 bean 对象进行使用

@EnableConfigurationProperties

  • @EnableConfigurationProperties 的作用是把 springboot 配置文件中的值与我们的 xxxProperties.java 的属性进行绑定,需要配合 @ConfigurationProperties 使用
  • @EnableConfigurationProperties 中引用的类一定要加 @ConfigurationProperties 这个注解,并且不需要再添加 @Component 注解,不然会导致被 @ConfigurationProperties 注解的类,在容器中实例化了 2 个 bean 对象
  • 容器注入的方法
  • @ConfigurationProperties 加 @Configuration 或 @Component
  • 通过 @EnableConfigurationProperties 实现

@Configuration

  • @Configuration 用于定义配置类,可替换 xml 配置文件,被注解的类内部包含有一个或多个被 @Bean 注解的方法。这些方法将会被 AnnotationConfigWebApplicationContext 或 AnnotationConfigApplicationContext 类进行扫描,并构建 Bean 定义,初始化 Spring 容器。
  • @Configuration 注解作用在类、接口(包含注解)上
  • @Configuration 注解作用的类不能是 final 类型
  • @Configuration 不可以是匿名类
  • @Configuration 注解中有 @Component 注解的加持,因此它自己本身也是一个 bean 对象,可以通过 Context 的进行获取
  • 嵌套的 @Configuration 类必须是 static 的
  • @Configuration 注解最常见的搭配使用有两个:@Bean 和 @Scope
  • @Bean:等价于 Spring 中的 bean 标签用于注册 bean 对象的,给容器中添加组件,一般以方法名作为组件的 id,配置类里面使用 @Bean 标注在方法上给容器注册组件,默认是单实例的
  • @Scope:用于声明该 bean 的作用域,作用域有 singleton、prototype、request、session

示例代码

见 https://gitee.com/alfredinchange/springboot.git 下 com.alfred.springboot.configuration

参考资料(感谢)

  • @EnableConfigurationProperties 和 @ConfigurationProperties 用法及注意事项

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

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

相关文章

Integrating Streamlit and Langchain data analysis agent-entrance

url:https://www.cnblogs.com/devcxx/p/18550789 一、Streamlit introduce Streamlit is an open-source Python library for quickly building data visualization and interactive web applications. It is specifically designed for data scientists and engineers, using…

WPF的Popup自动显示隐藏

简单实现鼠标移过Popup自动显示和隐藏的功能; 在xaml.cs中实现,首先创建一个定时器,设置300ms的延时:1 DispatcherTimer timer;2 3 public Function1View()4 {5 InitializeComponent();6 7 timer = new DispatcherTimer()…

WPF绑定枚举并且显示特性文本

一、文件结构 二、文件内容 FlattenMethodEnum.cspublic enum FlattenMethodEnum{[Description("单点")]SinglePoint = 0,[Description("平均")]Average = 1,} }EnumBindingSourceExtension.csusing System.Windows.Markup; using System.Diagnostics.Cod…

【知识库搭建】提高企业知识管理和服务效率

在当今信息爆炸的时代,企业知识管理的重要性日益凸显。有效的知识管理不仅能够促进内部信息共享,提升团队协作效率,还能增强企业的核心竞争力。本文将探讨如何通过搭建知识库系统,特别是利用HelpLook工具,优化企业知识管理和服务流程,从而提高企业运营效率。 一、知识库搭…

高级程序语言设计第八个个人作业

2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C 高级语言程序设计课程第五次作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400231 姓名:袁志华 作业 第11章 12367第12章 12389

人工智能之机器学习基础——贝叶斯(Bayesian Methods)

贝叶斯分类器 贝叶斯分类器是一类基于贝叶斯定理的统计学习方法,广泛应用于分类问题。其核心思想是通过计算后验概率 P(y∣x),将输入样本 x 分类到具有最大后验概率的类别。 1. 贝叶斯定理 贝叶斯定理是概率论中的基本法则,用于描述条件概率的关系: 其中:P(y∣x):在已知…

2024.11.20 NOIP模拟 - 模拟赛记录

异或(xor) 每次所加三角形的范围如图所示:这道题做法较多,我是通过两组差分与前缀和来做的。 首先需要一个三角形差分,使每一次在差分数组中修改时,影响到的范围是一个三角形,比如这样(红色点为 \((x,y)\),即 \((r,c)\)):假设我们真正需要修改的三角形是橙色部分:那…

实时多模态 AI 的 N 种新可能丨实时互动和大模型专场@RTE2024回顾

在本届 RTE2024 大会上,来自产业界和学术界的多位专家深入探讨了实时互动和大模型技术的最新进展及其潜在应用。西湖心辰联合创始人俞佳、声网 AI 算法工程师乔齐、MiniMax 资深音频算法专家张博闻、商汤科技数字文娱解决方案负责人焦文奎以及面壁智能算法 VP 翟忠武等分享了他…

vscode主题美化

vscode 主题美化 主题使用Tokyo Night由于我在用rust的时候发现其对一些变量的颜色不太好看,所以自己又在设置中改了一点"editor.tokenColorCustomizations": {...."[Tokyo Night]": { // or "[Tokyo Night Storm]""textMateRules": […

2024.11.20总结

1本文于 github 博客同步更新。 A: 一个数可以被操作当且仅存在一列的顶部元素为它且存在一列的底部元素为它,初始扫一遍,将合法的元素以顶部所在列为关键字扔到小根堆里,每次找到最小的元素添加,然后检查将新露出来的元素是否存在匹配,若结束时未填完即为无解。 B: 要么…