Spring Boot @Import 注解可以在没有@Configuration 标签的情况下使用吗

时间:2021-02-15 15:46:33

标签: spring spring-boot configuration annotations

@Import 中的

Spring 注释用于对配置进行分组。

我知道这个注解的标准语法是这样的:

@Configuration
@Import({ Manager.class, Programmer.class })
class WorkerConfiguration {
}

但我想知道是否可以使用 @Import 批注在配置文件(可能在主文件中)之外导入一组这些批注。

示例:

@SpringBootApplication
@Import({ Manager.class, Programmer.class })
public class App{

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

1 个答案:

答案 0 :(得分:1)

Import Javadoc :

<块引用>

表示要导入的一个或多个组件类——通常是 @Configuration 类。

@Import 通常用在用 @Configuration 类注释的类的上下文中,以将 @Configuration 中的某些声明 bean 包含在另一个类中。但它也适用于包含 @Configuration 注释的复合注释。
而在 Spring Boot 中,事实证明有几个注解包括 @Configuration:

例如,您要求的 @SpringBootApplication 也由 @Configuration 注释组成(除其他外):

<块引用>

表示声明一个或多个@Bean的配置类 方法并触发自动配置和组件扫描。 这是一个方便的注解,相当于声明 @Configuration、@EnableAutoConfiguration 和 @ComponentScan。

所以是的,你想做的是有效的。

相关问题