SpringBoot介绍

简介

它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须)的理念让你的项目快速运行起来。
它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包一样,Spring Boot 整合了所有框架(引自:springboot(一):入门篇——纯洁的微笑)

优点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。

核心

入口类和@SpringBootApplication
SpringBoot的项目一般会有一个入口类(命名规范:以*Application为入口类),被@SpringBootApplication标注。入口类会有一个main方法,用于启动SpringBoot。
@SpringBootApplication,是一个组合注解。注解源码:

@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替代Spring中的@Configuration
    @Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
  2. @ComponentScan 默认扫描标注@SpringBootApplication的同一包目录和子目录
  3. @EnableAutoConfiguration 启用自动配置,该注解会使SpringBoot根据项目中的依赖的jar包自动配置项目的配置项
    例如:我们添加了spring-boot-started-web的依赖,项目自动会引入SpringMVC的依赖,SpringBoot就会自动配置tomcat和SpringMVC
关闭自动配置

如果我们不需要SpringBoot自动注入,想关闭某一项的自动配置,例如:不想自动配置Redis。想手动配置:
代码:

@Controller
@SpringBootApplication(exclude = { RedisAutoConfiguration.class })
@Configuration
public class HelloApplication {}

加入:@SpringBootApplication(exclude = { RedisAutoConfiguration.class })

SpringBoot提供了很多主要框架的自动注入功能:在spring-boot-autoconfigure-1.5.2.RELEASE.jar包中

自定义Banner

启动Spring Boot项目后会看到这样的图案:
这里写图片描述
如果说想修改这个图案。可直接在配置文件中设置。
配置文件路径:src/main/resources/banner.txt

posted @ 2019-10-08 14:17  luck-monkey  阅读(168)  评论(0编辑  收藏  举报