上一篇Spring Boot我们简单讲了如何快速创建一个SpringBoot项目。大家都知道SpringBoot非常强大,可以轻松与各种工具集成,但是我们知其然,也必须知其所以然。今天开始就和大家一起学习一下SpringBoot核心,核心由于过于重要,需要分成好几章,今天我们先来看看基本配置。

入口类和@SpringBootApplication

使用过或者瞄过一眼Spring Boot工程的小伙伴都知道, SpringBoot有一个特别显著的特点, 就是每个SpringBoot工程都会有一个入口类, 在这个入口类上都会有这么一个注解@SpringBootApplication。  这个类中有一个main方法,main方法中使用 SpringApplication.run(*Application.class,args), 用来启动SpringBoot项目。如下所示:
    public static void main(String[] args) {         SpringApplication.run(Createproject2Application.class, args);     }

@SpringBootApplication

@SpringBootApplicationSpring Boot的核心注解, 它是一个组合注解 (通常我们称由多个注解组成的注解叫组合注解)。点进去瞧一眼
@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 {
@SpringBootApplication注解主要(我这里说了主要喔)组合了 @Configuration,@EnableAutoConfiguration,@ComponentScan 言外之意就是可以将这三个注解直接替换@SpringBootApplication

image

  1. @EnableAutoCOnfiguration让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置。例如添加了spring-boot-starter-web依赖,会自动添加Tomcat和Spring MVC的依赖,Spring Boot就会对Tomcat和Spring MVC进行自动配置。

2.@ComponentScan 让Spring Boot去扫描与入口类同级以及以下包的Bean(使用注解配置的),把他们添加到Spring容器,若为JPA项目还可以扫描标注@Entity的实体类。

3.@Configuration 表示当前是一个配置类,也会被Spring进行加载

关闭特定的自动配置

SpringBoot为我们提供了自动化配置,但是在某些特定的场景下, 我们可能不需要某个自动配置, 这时可以在@SpringBootApplication中配置
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

定制Banner

什么是Banner呢, 就是在Spring Boot项目启动的时候最开始显示的横幅。 我记得我第一次启动Spring Boot项目的时候印象最深的就是这个横幅 内心不断OS(wc这么酷炫的吗)。  下面我们看看怎么自定义横幅吧。如果不自定义,默认显示下面图案

image

修改Banner

  1. 我们在src/main/sources下新建一个banner.txt
  2. 登录upload/201909231049170228.jpg" alt="image" style="margin: 0px; padding: 0px; border: 0px; max-width: 820px; height: auto;" />
  3. 复制图案到banner.txt中