SpringBoot启动类存放的位置

一:问题

        在通过IDEA的Spring Initializr创建版本为2.7.0的SpringBoot项目时,它会自动将启动类XxxApplication放到一个包下面,我们可以将启动类移出三级目录。应该保证启动类在controller、service、dao的上级,否则无法扫面@Controller,@Service,@Repository等。

二:正确位置

三:@SpringBootApplication注解的理解

1. 解释

使用@SpringBootApplication标注的类是SpringBoot的主配置类。

2. 相关启动配置由以下注解帮我们完成

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
   
   

        主要注解是以下三个:

1. @SpringBootConfiguration 标注在某个类上,表示该类是SpringBoot的配置类
2. @EnableAutoConfiguration 以前我们需要配置的东西,在SpringBoot启动后会帮我们自动配置
3. @ComponentScan 用于通过注解指定spring在创建容器时要扫描的包

猜你喜欢

转载自blog.csdn.net/weixin_48568302/article/details/125317166