SpringBoot - @Import注解使用详解

Spring Boot模块化开发:@Import注解的应用 可见借助@Import注解,可以很方便地实现自定义导入对应的配置类,甚至是新增扫描起点,这对于我们Spring Boot模块化开发是一个有利的工具。也可见该注解功能非常强大,可以通过实现对应接口方法,完成灵活地自定义导入。大家需要理解@Import注解具体作用是什么,以及该注解可以传入哪些类作为参数,以及其大致的工作流程。 阅读详情

@Import注解的作用是什么?

通过导入的方式,来实现把实例加入Spring容器中的功能,相当于Spring xml配置文件中的<import /> 标签。

@Import注解能够导入哪些类?

可以导入普通类;
可以和@Configuration注解的类搭配使用;
可以和实现了ImportSelector和ImportBeanDefinitionRegistrar接口的类搭配使用。

@Import注解能够添加到哪些类上?

@Import注解可以添加在自定义的注解、@SpringBootApplication(启动类)、@Configuration(配置类)和@Component(组件类)所注解的类上(@RestController、@Service、@Repository都属于@Component),从而实现将实例加入到Spring容器中的功能。

①. 可以在自定义的注解中使用

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
// 表示通过aop框架暴露该代理对象,AopContext能够访问
@EnableAspectJAutoProxy(exposeProxy = true)

// 指定要扫描的Mapper类的包的路径
@MapperScan("com.hadoopx.**.mapper")
// 开启线程异步执行
@EnableAsync
// 导入相关配置类
@Import({ ApplicationConfig.class, FeignAutoConfiguration.class })
public @interface EnableCustomConfig
{
}

②. 可以在启动类中使用

@EnableServiceFeignClients
@EnableDiscoveryClient
@MapperScan("com.hadoopx.**.mapper")
@SpringBootApplication
@Slf4j
@Import({MinioUtil.class})
public class MySpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class, args);
    }
}

③. 配合配置类导入配置对象

// 配置类
@Configuration
@Import({DroolsProperties.class})
public class DroolsConfig {

    @Bean
    @ConditionalOnMissingBean(name = "kieTemplate")
    public KieTemplate kieTemplate(DroolsProperties droolsProperties) {
        KieTemplate kieTemplate = new KieTemplate();
        kieTemplate.setPath(droolsProperties.getPath());
        kieTemplate.setMode(droolsProperties.getMode());
        if (droolsProperties.isAutoUpdate()) {
            // 启用自动更新
            kieTemplate.setUpdate(droolsProperties.getUpdate());
        } else {
            // 关闭自动更新
            kieTemplate.setUpdate(999999L);
        }
        kieTemplate.setListener(droolsProperties.isListener());
        kieTemplate.setVerify(droolsProperties.isVerify());
        kieTemplate.setUseRedis(droolsProperties.isUseRedis());
        return kieTemplate;
    }

    @Bean
    @ConditionalOnMissingBean(name = "kieSchedule")
    public KieSchedule kieSchedule(KieTemplate kieTemplate) {
        KieSchedule kieSchedule = new KieSchedule(kieTemplate);
        kieSchedule.execute();
        return kieSchedule;
    }
}
springboot @Import注解 @EnableAutoConfiguration 注解 springboot @Import注解 @Enable"底层依赖于@lmport注解导入一些类,使用@lmport导入的类会被Springh载到OC容器中。而@mport提供4中用法: Import4中用法: 导入Bean 导入配置类 导入ImportSelector的实现类。 导入ImportBeanDefinitionRegistrar实现类 @SpringBootApplication public class SpringbootEnableApplicatio 阅读详情

相关推荐

故障处理:Oracle一体机磁盘故障时磁盘组重平衡失败的故障处理

摘要: Oracle Exadata一体机出现磁盘故障案例,存储节点故障灯未亮但磁盘已产生大量坏块,导致重平衡失败。文章强调了一体机硬件巡检需检查6个关键维度:节点messages日志、存储cell告警日志、CellCLI日志、ASM告警日志、ILOM日志及服务器信号灯。故障分析显示硬盘物理故障导致磁盘组冗余受损,自动修复流程受阻。文中详细记录了通过CellCLI工具排查损坏磁盘的过程,并提供了完整的故障处理流程和命令输出。文章同步发布于微信公众号"IT民工的龙马人生"和博客网站(www

提供数据库技术支持(系统优化,故障处理,安装升级,数据恢复等) 1231

详细解读Spring Boot中@Import三种使用方式

Import是一个非常有用的注解,它的长处在于你可以通过配置来控制是否注入该Bean,也可以通过条件来控制注入哪些Bean到Spring容器中。、、等等统一采用的都是借助@Import注解来实现的。下面我们就通过示例来了解@Import三种用法!

wdj_yyds的博客 1611

S型速度曲线进阶:基于Sin²(x)的PLC平滑运动控制实践(以伺服/步进系统为例)

本文深入探讨了基于Sin²(x)的S型速度曲线在PLC平滑运动控制中的实践应用,特别针对伺服/步进系统。通过对比传统梯形曲线和七段S曲线,详细展示了Sin²(x)曲线在加速度连续性、计算效率和参数自适应性方面的优势,并结合博图平台的具体实现技巧和实战案例,为精密运动控制提供了优化方案。

weixin_28718793的博客 242

总结:Springboot注解之@Import

一、介绍 在平时看源码或者很多配置类上面都会出现@Import注解,作用是用来导入配置类或者一些需要前置加载的类。 @Import支持 三种方式 1、普通类 2、带有@Configuration的配置类 3、ImportSelector 的实现 4、ImportBeanDefinitionRegistrar 的实现 二、普通类导入 新建一个TestA public class TestA { public void fun(String str) { System.

w2009211777的专栏 656

MoveIt2项目想换掉KDL求解器?试试这个trac_ik插件(附源码编译避坑指南)

本文详细介绍了如何在MoveIt2项目中用trac_ik插件替代KDL求解器,提升机械臂运动学求解的效率和成功率。内容涵盖环境准备、源码编译避坑、项目集成及性能调优,特别适合需要高精度控制的协作机械臂应用场景。通过实测数据对比,trac_ik在求解时间和奇异点处理上显著优于传统KDL求解器。

weixin_30730053的博客 698

告别手动维护!教你用SAP BAPI批量更新生产订单BOM组件(CO02工单)

本文详细介绍了如何利用SAP BAPI实现生产订单BOM组件的批量更新,解决传统手工操作(如CO02工单)效率低下的问题。通过核心函数解析和批量处理框架设计,帮助用户大幅提升工作效率,降低错误率,适用于物料主数据变更、季节性配方调整等场景。

weixin_30844577的博客 561

Spring Boot中@Import注解的三种用法!

以下代码中根据。

chuixue24的博客 1405

C#winform自定义绘制曲线控件实例

本文实例讲解自定义绘制曲线控件过程。 在实际项目中,需要绘制曲线,系统的提供的绘制曲线的控件有时不能满足自己的需要,需要根据项目需要定制开发曲线控件。 实例目标,实时绘制显示温湿度值曲线。

qq_30725967的博客 1735

【Springboot】@Import 注解的使用

在Spring Boot中,@Import注解用于导入其他配置类或组件类,使得它们的Bean定义和配置信息能够被当前的应用上下文所识别和使用。@Import导入配置类:当你在某个类或者配置类上使用@Import注解时,你可以指定一个或多个需要导入的类。这些类可以是其他的@Configuration配置类,也可以是普通的Java类。注入Bean定义:通过@Import注解导入的类中的@Bean方法或者通过扫描到的@Component@Service。

锥栗的博客 976

华为OD机试:查找接口成功率最优时间段 (C/C++/Py/Java/JS/GO)

华为OD机试双机位C卷 查找接口成功率最优时间段,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。

qq_45776114的博客 4687

基于深度学习的AI生成式人脸图像鉴别

AIGC(AI内容生成)技术的快速发展确实为创作者提供了高效生产力工具,但同时也引发了一些问题和挑战。这些技术可以生成以假乱真的图像、视频换脸等,给不法分子提供了滥用的机会。其中,一些不法分子可能利用AIGC技术制造虚假新闻、违反版权、绕过活体身份验证、散布谣言和诽谤他人、进行敲诈勒索等非法活动,以谋取不当利益。这些行为给社会造成了严重的负面影响,破坏了信息的真实性和可信度。因此,我们需要认识到AIGC技术的潜在风险,并采取相应的措施来应对。

mingo_敏 4497

@import注解_你想知道SpringBoot的启动原理吗?那么你必须了解@Import注解!

目录:1、IOC 容器中添加组件的方式2、@Import 注解的使用3、@Import 在Spring源码中什么时候加载的?4、SpringBoot是怎样使用@Import来自动加载类的?IOC 容器中添加组件的方式(1) 通过@ComponentScan @Controller @Service @Respository @Component使用场景: 针对我们自己写的组件可以通过该方式来进行加...

weixin_39595310的博客 242

【ComfyUI】Z-Image 基础文生图 + 单LoRA

本文介绍了一个基于ComfyUI的Z-Image Turbo基础文生图工作流,采用轻量化UNet模型配合Qwen Image文本理解模型与LoRA风格注入,实现从文本到图像的快速生成。工作流结构清晰,包含模型加载、文本编码、采样解码等标准节点,在人物生成、构图稳定性和出图速度方面表现均衡。通过调整Prompt可控制生成内容,适合日常创作、教学演示及扩展进阶应用。

Mr数据杨 930

SpringBoot模块化开发利器:@Import注解使用指南

首先我们来看功能模块1,该模块作为一个功能,不需要作为一个完整的Spring Boot应用程序启动,因此该模块中不需要主类,只编写起点配置类和功能代码(比如Service层的类)即可,删除功能模块1的全部依赖,然后只加一个。需要注意的是,这里的应用拆分并不是把应用拆分成Spring Cloud分布式微服务多模块,而是仅对一个单体项目而言,它仍然是单体项目,但是每一个功能放在每个模块中,而不再是所有功能放在一个Spring Boot工程中。

weixin_44066506的博客 1125

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SpringBoot中的@Import注解?说说它的原理?

Import注解用于导入其他的配置类、组件或 Bean,提供了更好的模块化和解耦能力。其工作原理主要通过和接口,允许开发者在运行时动态地选择和注册 Bean。使用@Import可以使得 Spring 应用的配置更加灵活,有助于开发者根据不同的需求进行扩展和管理。

每日一贴 846

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Boot @Import注解的作用

是 Spring Framework 中一个非常重要的注解,它提供了一种灵活的方式来导入和注册 Bean 定义到 Spring 上下文。方法,该方法返回一个字符串数组,包含需要导入的配置类或 Bean 定义类的完全限定名。的 Bean 定义并将其注册到容器中。的不同用法和注意事项,可以更好地利用 Spring Boot 的特性,构建可维护和灵活的应用程序。是一个非常强大的注解,可以用来组织和模块化 Spring 配置,并提供条件化的配置能力。注解的方法,并将这些方法返回的对象作为 Bean 注册到容器中。

专注于技术分享 1296

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringBoot中@Enable*与@Import注解

1 背景介绍 我们在开发SpringBoot项目时会引用很多功能包,常会看到@Enable*注解[1]。例如使用Spring StateMachine中@EnableStateMachine注解启用状态机相关能力。相关能力就是通过开发一些类,生成实例来提供能力。例如状态机配置选择,状态机配置等。接着查看@Enable*注解通常会带有@Import注解。通过@Import注解实现了@Enable*的...

Revivedsun的专栏 1063

springboot @Import注解详解

Import注解是Spring中实现配置模块化、代码复用以及灵活扩展的重要机制。通过它,开发者可以有选择性地将类引入到Spring的IoC容器中,并结合ImportSelector或ImportBeanDefinitionRegistrar来实现更复杂的配置逻辑。在Spring Boot应用中,它更是自动化配置机制的核心组成部分。

学亮编程手记 626

SpringBoot注解--@Import

Import 注解能够在一个配置类中引入其他的配置类、组件,或者通过 ImportSelector、ImportBeanDefinitionRegistrar 动态地注册 Bean。此注解可接收一个或多个类作为参数,Spring 会依据这些类的类型进行不同的处理。

weixin_44059745的博客 311

Spring Boot 自动配置之@Enable* 与@Import注解

SpringBoot 的自动配置如此强大,比如我们经常使用的@Enable* 注解来开启对某方面的支持。那么@Enable* 注解的原理是什么呢? 一、@Enable* 注解与 @Import 注解之间的关系 @Enable* 举例: @EnableScheduling 开启计划任务的支持 @EnableAsync 开启异步方法的支持 @EnableAspectJAutoProxy 开启...

z69183787的专栏 1014

SpringBoot之常用注解@value、@Import、@ImportResource等

前面的文章中有提到Spring中bean的配置方式有三种:基于xml的配置、基于注解的配置和基于java的配置。而SpringBoot提倡基于Java的配置。 其常用的配置有@Value、@Import、@ImportResource、@PropertySource @Value 通过@Value可以将外部的值动态注入到Bean中。 比如application.properties中添加属性: domain.name=testxxx 怎么引用? @Value("${domain.name

深海微澜 1218
上一篇: MAVEN的SCOPE属性详细说明
下一篇: SpringBoot - @ConfigurationProperties注解使用详解
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值