2024-12-18  阅读(32)
版权声明:本文为博主付费文章,严禁任何形式的转载和摘抄,维权必究。 本文链接:https://www.skjava.com/mianshi/baodian/detail/1649292716

回答

@Import 主要用于将指定的配置类注入到 Spring 容器中,它的作用类似于直接在 @Configuration 配置类中使用 @Bean 方法声明 Bean,但它提供了一种更加灵活的方式。

从简单的使用到高级的扩展,@Import 能帮我们完成:

  • 导入配置类:把其他配置类加载进来,便于模块化管理。
  • 导入普通组件:直接将某个类(例如第三方库的类)注册为 Bean。
  • 基于逻辑条件动态导入:通过实现 ImportSelectorImportBeanDefinitionRegistrar,根据需求动态注册 Bean。

详解

@Import的三种用法

注入普通类

注入普通类,这种方式非常简单,如下:

@Configuration
@Import(SkService.class)
public class SkServiceConfig {
}

public class SkService {

    public void doSomething() {
        System.out.println("这里是死磕 java......");
    }
}

这里,SkService 会被自动注册为 Bean。测试下: