解决问题:

什么是扫包?

SpringBoot的入口函数?

SpringBoot包扫描的注解?

1. 什么是扫包?

什么是扫包?就是发现Service,Controller,Component然后自动注入到Spring容器中。

2. SpringBoot的入口。

SpringBoot的入口和常见的java程序一样都是main()函数。

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

3. 启动方式

SpringBoot启动,指的是SpringBoot找到项目的入口,然后把Component、Controller、Service注入到Spring容器中。

3.1 SpringBoot的启动方式一(通过@SpringBootApplication注解、)

@SpringBootApplication
public class ProviderApplication {

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

备注:

SpringBootApplication注解:负责启动SpringBoot项目。这个注解实现了扫描包的功能,扫描范围是该文件所在的当前目录和同级目录。

3.2 SpringBoot的启动方式二(通过@EnableAutoConfiguration注解)

@EnableAutoConfiguration
@ComponentScan("需要扫描包的包名")
public class Application {
    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
    }
}

备注:

@EnableAutoConfiguration默认的扫包范围是当前类中。

@ComponentScan可以指定扫包范围。

结论,@SpringBootApplication注解等于@EnableAutoConfiguration注解加上@ComponentScan注解

08-29 21:16