Spring Boot @Import 注解可以不使用@Configuration 标签吗
Can Spring Boot @Import annotation be used without @Configuration tag
@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);
}
}
Indicates one or more component classes to import — typically
@Configuration classes.
@Import
通常用在 class 的上下文中,用 @Configuration
class 注释,以将 @Configuration
中声明的一些 bean 包含在另一个 bean 中。但它也适用于在其他注释中包含 @Configuration
的复合注释。
在 Spring Boot 中发现有几个注释包括 @Configuration
:
例如,您要求的 @SpringBootApplication
也由 @Configuration
注释组成(除其他外):
Indicates a configuration class that declares one or more @Bean
methods and also triggers auto-configuration and component scanning.
This is a convenience annotation that is equivalent to declaring
@Configuration, @EnableAutoConfiguration and @ComponentScan.
所以是的,你想做的是有效的。
@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);
}
}
Indicates one or more component classes to import — typically @Configuration classes.
@Import
通常用在 class 的上下文中,用 @Configuration
class 注释,以将 @Configuration
中声明的一些 bean 包含在另一个 bean 中。但它也适用于在其他注释中包含 @Configuration
的复合注释。
在 Spring Boot 中发现有几个注释包括 @Configuration
:
例如,您要求的 @SpringBootApplication
也由 @Configuration
注释组成(除其他外):
Indicates a configuration class that declares one or more @Bean methods and also triggers auto-configuration and component scanning. This is a convenience annotation that is equivalent to declaring @Configuration, @EnableAutoConfiguration and @ComponentScan.
所以是的,你想做的是有效的。