SpringBoot专栏(五) -- SpringBoot的启动方式(@SpringBootApplication注解、@EnableAutoConfiguration注解、@ComponentScan注解)

解决问题:

什么是扫包?

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注解

 

posted @ 2019-02-27 19:22  mungerz  阅读(1952)  评论(0编辑  收藏  举报