SpringBoot中@Import和@ImportResource和@PropertySource

1. @Import

@Import注解是引入java类:

  • 导入@Configuration注解的配置类(4.2版本之前只可以导入配置类,4.2版本之后也可以导入普通类)
  • 导入ImportSelector的实现类
  • 导入ImportBeanDefinitionRegistrar的实现类
@SpringBootApplication
@Import(MyCustomize.class)
public class StartBootReadConfig {public static void main(String[] args) {SpringApplication.run(StartBootReadConfig.class, args);}@AutowiredMyCustomize myCustomize;@PostConstructpublic void init(){myCustomize.printf();}
}

 

2. @ImportResource


@ImportResource是引入spring配置文件.xml,它导入的是使用xml配置文件注入的对象。

新建测试类:

public class MyCustomize {public void printf(){System.out.println("MyCustomize.printf");}
}

新建一个bean的配置文件mycustomize.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="mycustomize" name="mycustomize" class="com.lx.readconfig.service.MyCustomize"></bean>
</beans>

使用ImportResource导入:

@SpringBootApplication
@ImportResource("mycustomize.xml")
public class StartBootReadConfig {public static void main(String[] args) {SpringApplication.run(StartBootReadConfig.class, args);}@AutowiredMyCustomize myCustomize;@PostConstructpublic void init(){myCustomize.printf();}}

 

 

3.@PropertySource

@PropertySource是引入自定义配置文件(yml或properties),用于spring boot 配置文件(yml或properties)与实体属性映射。

@Component
//@PropertySource("classpath:myext.properties")
//PropertySource默认不支持yml或者yaml的解析
@PropertySource(value = "classpath:myext.yml", factory = CustomizePropertySourceFactory.class)
@ConfigurationProperties(prefix = "keyfieldpropertiesext")
@Data

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Cursor+Devbox AI开发快速入门

1. 前言 今天无意间了解到 Cursor 和 Devbox 两大开发神器,初步尝试以后发现确实能够大幅度提升开发效率,特此想要整理成博客以供大家快速入门. 简单理解 Cursor 就是一款结合AI大模型的代码编辑器,你可以将自己的思路告诉AI,剩下的目录结构的搭建以及项目代码的实现均由AI帮…

Linux之socket编程(一)

前言 网络通信的目的 我们已经大致了解了网络通信的过程: 如果主机A想发送数据给主机B, 就需要不断地对本层的协议数据单元(PDU)封装, 然后经过交换设备的转发发送给目的主机, 最终解封装获取数据. 那么网络传输的意义只是将数据由一台主机发送到另一台主机吗&#xff1f; …

Nmap数据包分片解析 -f 选项

Nmap数据包分片解析 1. 什么是数据包分片&#xff1f; 在网络扫描中&#xff0c;数据包的大小和分片机制可能会影响扫描的隐蔽性。Nmap通过-f选项来触发数据包的分片。启用-f选项后&#xff0c;Nmap会将IP数据包分割成8字节或更小的片段。如果你使用-f -f&#xff08;或-ff&a…

JAVAWeb——maven、SpringBoot、HTTP、Tomcat

目录 1.maven a.概述 b.作用 c.仓库 b.坐标 c.依赖管理 2.SpringBoot 3.HTTP a.概述 b.请求协议 c.响应协议 d.协议解析 4.Tomcat a.Web服务器 b.Tomcat c.SpringBoot与Tomcat关系 1.maven a.概述 Maven是apache旗下的一个开源项目&#xff0c;是一款用于管理…

Modbus TCP转profibusDP网关接防撞雷达快速配置

在工业自动化领域中&#xff0c;不同的设备可能使用不同的通信协议。当需要将使用 ModbusTCP 协议的防撞雷达连接到ProfibusDP网络时&#xff0c;需要使用协议转换器来实现协议的转换。 本文将详细介绍如何通过ModbusTCP转ProfibusDP网关接入防撞雷达&#xff0c;并提供快速配…

centos 报 ping: www.baidu.com: Name or service not known

[rootlocalhost ~]$ ping www.baidu.com ping: www.baidu.com: Name or service not known解决办法&#xff1a; 首先要求检查特定文件&#xff08;/etc/resolv.conf&#xff09;内是否正确配置了 DNS sudo vim /etc/resolv.conf没有正确配置可以添加如下代码&#xff1a; n…

机器学习代谢组学

Nature与Science重磅&#xff01;AI与生物医药迎来百年来最重磅进展&#xff01;https://mp.weixin.qq.com/s/Vw3Jm4vVKP14_UH2jqwsxA 第一天上午&#xff1a; A1 代谢物及代谢组学的发展与应用 &#xff08;1&#xff09; 代谢与生理过程&#xff1b; &#xff08;2&#…

AD21-原理图的统一编号设置

AD21-原理图的统一编号设置 1.顶部工具栏&#xff1a; 2.进入“原理图标注配置”之后&#xff1a; &#xff08;Step1&#xff09;: &#xff08;Step2&#xff09;: &#xff08;Step3&#xff09;:点击“执行变更” 至此&#xff0c;完成标注

58 基于 单片机的温湿度、光照、电压、电流检测

所有仿真详情导航&#xff1a; PROTEUS专栏说明-CSDN博客 目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;采用dht11温湿度传感器检测温湿度&#xff0c;采用光敏电阻连接数模转换器读取光照&#xff0c;通过lcd1602显…

python源码实例游戏开发小程序办公自动化网络爬虫项目开发源码(250+个项目、26.6GB)

文章目录 源代码下载地址项目介绍预览 项目备注源代码下载地址 源代码下载地址 点击这里下载源码 项目介绍 python源码实例游戏开发小程序办公自动化网络爬虫项目开发源码(250个项目、26.6GB) 预览 项目备注 1、该资源内项目代码都经过测试运行成功&#xff0c;功能ok的情…

数字工厂管理系统如何做好供应链管理

在当今竞争激烈的制造业环境中&#xff0c;数字工厂管理系统已成为企业提升供应链管理效率与竞争力的关键。它借助数字化技术整合供应链各环节信息&#xff0c;实现高效协同与精准决策&#xff0c;为企业在市场中赢得先机奠定基础。 数字工厂管理系统首先要对供应链中的数据进行…

组蛋白修饰数据库

组蛋白修饰数据库 前言 组蛋白修饰是表观遗传控制的关键要素之一&#xff0c;在生物过程和疾病发展的调控中起着重要作用。组蛋白修饰可以通过标记特定的基因组位点来调节转录表观遗传&#xff0c;可以使用染色质免疫沉淀测序 &#xff08;ChIP-seq&#xff09; 进行定位。为…

gitlab-cicd部署安装与具体操作

一、安装 本例中是用安装包直接在ubuntu下安装的&#xff0c;也可以用docker镜像。 curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_amd64.rpmrpm -i gitlab-runner_amd64.rpm 安装runner后&#xff0c;需要跟在runner所在服务器安装…

PETR:Position Embedding Transformation forMulti-View 3D Object Detection

全文摘要 本文介绍了一种名为“位置嵌入变换&#xff08;PETR&#xff09;”的新方法&#xff0c;用于多视角三维物体检测。该方法将三维坐标的位置信息编码为图像特征&#xff0c;并产生具有三维位置感知能力的特征。通过对象查询可以感知这些特征并进行端到端的目标检测。在…

使用 postman 传递 binary 类型的图片到后端接口遇到的坑

使用 psotman 传 binary 类型图片报错&#xff1a; -2024-12-04 [http-nio-9090-exec-1] WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required r…

Pyside6 --Qt设计师--简单了解各个控件的作用之:Layouts,Spaces

目录 一、Layouts1.1 Vertical Layout说明1.1.1 Qt设计师图1.1.2 py代码 1.2 Horizontal Layout说明1.2.1 Qt设计师图1.2.2 py代码 1.3 Grid Layout说明1.3.1 Qt设计师图1.3.2 py代码 1.4 Form Layout说明1.4.1 Qt设计师图1.4.2 py代码 二、Spaces&#xff08;空格&#xff09;…

利用红黑树封装map,和set,实现主要功能

如果不知道红黑树是什么的时候可以去看看这个红黑树 思路 首先我们可以把封装分为两个层面理解&#xff0c;上层代码就是set,和map&#xff0c;底层就是红黑树 就相当于根据红黑树上面套了两个map,set的壳子&#xff0c;像下面这张图一样 对于map和set&#xff0c;map里面存…

自动化测试之等待方式详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在自动化测试中&#xff0c;等待是一个重要的技术&#xff0c;用于处理页面加载、元素定位、元素状态改变等延迟问题。 等待能够确保在条件满足后再进行后续操…

重学SpringBoot3-WebClient配置与使用详解

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-WebClient配置与使用详解 1. 简介2. 环境准备2.1 依赖配置 3. WebClient配置3.1 基础配置3.2 高级配置3.3 retrieve()和exchange()区别 4. 使用示例4.1 …

8.16DEBUG——DOCKER相关,DOCKER启动异常

DOCKER启动异常 问题一 WSL启动出现异常&#xff0c;导致DOCKER都无法运行 首先执行wsl --shutdown&#xff0c;再重启 但是重启时依然出现如上问题 首先按照网上教程&#xff0c;尝试去掉环境变量中冗余错误的变量定义 但是并没有解决&#xff0c;执行如下命令&#xff0c…