SpringBoot中自动配置

news/2024/4/29 8:58:34/文章来源:https://blog.csdn.net/weixin_42196338/article/details/128090652

第一种:

        给容器中的组件加上

@ConfigurationProperties注解即可

测试:

@Component
@ConfigurationProperties(prefix = "mycar")
public class Car {private String brand;private Integer price;private Integer seatNum;public Integer getSeatNum() {return seatNum;}public void setSeatNum(Integer seatNum) {this.seatNum = seatNum;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public Integer getPrice() {return price;}public void setPrice(Integer price) {this.price = price;}@Overridepublic String toString() {return "Car{" +"brand='" + brand + '\'' +", price=" + price +", seatNum=" + seatNum +'}';}public Car() {}
}

在application.properties中属性:

mycar.seatNum = 4
mycar.brand = BMW
mycar.price = 100000

即可给之后new 的Car 对象自动配置。

运行:

public class MainApplication {public static void main(String[] args) {//返回springboot中的ioc容器ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);Car car = run.getBean("car", Car.class);System.out.println(car);}
}

控制台结果:

 第二种:

        第一种的情况下是自己写的类作为组件,实现自动装配的过程;

        但有时候使用第三方类的时候无法将其设置为自己的组件,所以就需要用

@EnableConfigurationProperties + @ConfigurationProperties

        将Car类删除@Component注解,此时Car类已经不是组件了:

         此时,假设Car是第三方提供的类:

        对于第三方的类 想要其作为组件就需要@Bean注解,就和之前的SSM项目中配置的bean

标签一样:

        SSM中的配置文件中:

    <bean id="car" class="xxx.xxx.xxx.Car"><property name="brand" value=""/><property name="price" value=" "/><property name="seatNum" value=" "/></bean>

        就等同于SpringBoot中配置类下的:

    @Beanpublic Car car(){Car car = new Car();return car;}

        其中属性的赋值就需要在Car类上增加

@ConfigurationProperties(prefix = "mycar")注解

        最后在该配置类上使用

@EnableConfigurationProperties(Car.class)注解开启即可
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(Car.class)
public class CarAutoConfiguration {@Beanpublic Car car(){Car car = new Car();return car;}}

控制台显示结果一样:

 

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

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

相关文章

流媒体传输 - RTMP 协议报文分析

握手之后&#xff0c;连接开始对一个或多个 chunk stream 进行合并。创建的每个块都有一个唯一 id 对其进行关联&#xff0c;这个 id 叫做 chunk stream id。这些块通过网络进行传输。传递时&#xff0c;每个块必须被完全发送才可以发送下一块。在接收端&#xff0c;这些块被根…

Python使用矩阵分解法推荐系统找到类似的音乐

这篇文章是如何使用几种不同的矩阵分解算法计算相关艺术家。最近我们被客户要求撰写关于的矩阵分解法推荐系统研究报告&#xff0c;包括一些图形和统计输出。代码用Python编写&#xff0c;以交互方式可视化结果。 加载数据 这可以使用Pandas加载到稀疏矩阵中&#xff1a; # r…

一文搞懂漏洞严重程度分析

漏洞的级别定义主要从两个维度进行判断&#xff1b; 1、可利用性 2、影响性 可利用性指标 可利用性指标组刻画脆弱性组件&#xff08;即包含漏洞的事物&#xff09;的特征&#xff0c;反映漏洞利用的难易程度和技术要求等。可利用性指标组包含四个指标&#xff0c;分别是攻击…

宝塔+LNMP平台=HTTP文件共享服务

前言 服务器有几十个G都没利用&#xff0c;太浪费了&#xff0c;本着共产主义万岁的思想&#xff0c;准备搭建一个超级简单的基于宝塔上的HTTP文件共享服务器。 搭建 我的宝塔是基于LNMP平台搭建的网站。 进入宝塔管理 新建一个站点&#xff08;纯静态&#xff0c;无数据库…

最基础的协同过滤介绍

文章目录1.到底什么是协同过滤2.协同过滤的一般步骤3.基于用户的CF (User-CF)3.1 基本介绍3.2 用户相似度3.2.1 用户相似度基本介绍3.2.2 用户相似度改进&#xff1a;ICU3.3 User-CF的缺点4.基于项目的CF (Item-CF)4.1 基本介绍4.2 用户相似度4.2.1 用户相似度基本介绍4.2.2 用…

Spark系列之Spark应用程序运行机制

title: Spark系列 第六章 Spark应用程序运行机制 6.1 Spark的基本运行流程 Spark任务的核心执行流程主要分为四大步骤&#xff1a; Driver工作&#xff1a;Build DAG DAGScheduler工作&#xff1a;Split DAG to Stage TaskScheduler工作&#xff1a;Change Stage to TaskSet…

右键实现打开对应的软件

右键实现打开对应的软件前言&#xff1a;下面我以右键打开Pycharm为例子&#xff01;&#xff01;&#xff01;一、打开注册表1.1 WinR&#xff0c;输入regedit,回车二、实现右键打开特定文件的效果2.1找到路径&#xff1a;计算机\HKEY_CLASSES_ROOT\*\shell2.2 创建文件夹2.3 …

Spark系列之Spark启动与基础使用

title: Spark系列 第三章 Spark启动与基础使用 3.1 Spark Shell 3.1.1 Spark Shell启动 安装目录的bin目录下面&#xff0c;启动命令&#xff1a; spark-shell$SPARK_HOME/bin/spark-shell \ --master spark://hadoop10:7077 \ --executor-memory 512M \ --total-executor-…

【Python】一、Python程序运行方式

文章目录实验目的一、熟悉Python的安装二、熟悉PyCharm安装三、启动IDLE&#xff0c;进入Python Shell&#xff0c;熟悉环境&#xff0c;运行教材案例&#xff1a;输出“hello world&#xff01;”四、打开“命令提示符”窗口&#xff0c;使用pip安装管理pygame、numpy等第三方…

神经网络和深度学习-加载数据集DataLoader

加载数据集DataLoader Dataloader的概念 dataloader的主要目标是拿出Mini-Batch这一组数据来进行训练 在处理多维特征输入这一文章中&#xff0c;使用diabetes这一数据集&#xff0c;在训练时我们使用的是所有的输入x&#xff0c;在梯度计算采用的是随机梯度下降&#xff08…

用 Java 实现爬虫 (爬取本地html中的人物信息并可视化人物关系)

目录 爬虫简介 常用的工具框架 selenium Jsoup Jsoup介绍 Jsoup的主要功能如下&#xff1a; HTML 相关知识 通过Jsoup元素获取 案例 爬取本地html中的角色信息 HtmlParseUtil 可以利用relation-graph 将人物关系可视化 使用爬虫要注意 查看网站的爬虫协议 爬虫简介…

黑群晖从入门到入土,自编译适合自己硬件的黑群晖7.1.x引导(黑群晖DSM7.X引导用arpl编译教程)

写在前面的话 没啥好说的&#xff0c;只需要感谢在GitHub上开源代码的巴西老哥就好&#xff0c;好了废话不多说直接开始。 黑群晖DSM7.X引导用arpl编译教程写在前面的话一、需要的软硬件清单二、制作引导盘1、下载arpl镜像2.1.1、制作PE启动盘&#xff0c;这是使用msata硬盘或…

胎儿产科生长发育曲线 ,体重估计,公式和绘图、参考文献、python代码

1. 参考资料 Leung TN, Pang MW, Daljit SS, Leung TY, Poon CF, Wong SM, Lau TK. Fetal biometry in ethnic Chinese: biparietal diameter, head circumference, abdominal circumference and femur length. Ultrasound Obstet Gynecol. 2008 Mar;31(3):321-7. doi: 10.1002…

覆盖libc.so.6的惨痛教训

覆盖libc.so.6的惨痛教训背景问题原因解决1、当前session未断开2、OS崩溃重启&#xff0c;所有ssh session断开惨痛教训1、对于上产环境的内核依赖库文件不能随意覆盖、删除。2、 scp 文件覆盖问题总结参考背景 发生时间: 2022年11月28日08:55:20 偷了个懒&#xff0c;在安装t…

发现智能合约中的 bug 的 7 个方法

寻找智能合约bug可能是一项高回报的工作&#xff0c;而且它也保护了生态系统免受黑客攻击。我最近有幸采访了一位开发人员&#xff0c;他发现了一个价值 70 亿美元的错误&#xff0c;并因报告该错误而获得了 220 万美元的报酬。 在这篇文章中&#xff0c;我将详细介绍该开发人…

SpringCloud-alibaba-Nacos 从理论到落地使用

Nacos: Dynamic Naming and Configuration Service 就是&#xff1a; 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。、 下面是生态图&#xff1a; Nacos EurekaConfig Bus 即 Nacos就是注册中心 配置中心的组合 他能干什么呢&#xff1f; 1、替代Eu…

Azure CDN

Azure CDN Azure CDN 是服务器的分发网络&#xff0c;可以将网页内容更高效地分发给终端用户。 CDN在POP点的边缘服务器缓存内容&#xff0c;这样更临近终端用户&#xff0c;延迟低。 Azure CDN 给开发者提供全球解决方案&#xff0c;能够将内容放在全球各个节点&#xff0c;提…

Android——Theme和Style-由浅入深,全面讲解

1、官方详细解读 样式和主题背景 | Android 开发者 | Android Developers 2、应用场景 类似web设计中css样式。将应用设计的细节与界面的结构和行为分开。 样式style &#xff1a;应用于 单个 View 的外观。样式可以指定字体颜色、字号、背景颜色等属性 主题theme&…

[附源码]计算机毕业设计springboot动物保护协会网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

使用EL表达式时,PropertyNotFoundException异常的解决过程

一. 业务场景 最近&#xff0c;杨哥的一个班级正在做基于JSPJSTL/EL Servlet JavaBean JDBC MySQL技术方案的阶段项目。其中有一个需求是根据多条件动态搜索商品信息&#xff0c;最终分页显示出商品列表。这个功能可以在dao层采用多分支条件组合&#xff0c;显示页面使用JST…