Spring Boot基础知识

Spring Boot 框架的优点:

Spring Boot特点:

  • Spring Boot
    提供了一些预先组织好的“起步依赖(spring-boot-starter)”,从而使开发者不再需要维护复杂的组件(jar包)依赖,只需要声明“我需要什么功能”就可以。
  • Spring Boot让Spring应用开发从早期的以“组件为中心”,转换为“以功能为中心”
  • Spring Boot在应用程序中嵌入了Servlet容器(Tomcat、Jetty或Underyow),可独立运行,无需部署到外部胡Servlet容器中。
  • Spring Boot 2.X还提供了支持响应编程特性的容器(默认为Netty),因此,它的应用就是一个Jar包,可以直接使用java-jar命令运行。
  • Spring Boot 2.X只支持JDK 8及以上版本。
  • Spring Boot提供国一整套工具 --Spring Boot Actuator,用于监控Spring Boot 应用程序运行状态。
  • Spring技术家庭的其他成员(比如:Spring MVC),基本上都针对Spring Boot进行了调整或重写,并且增加了新的成员,比如WebFlux。
  • Spring Boot还是Spring Cloud技术的基础,单个的微服务可以使用Spring Boot开发。

Spring Boot优点:

  • 快速构建项目。
  • 对主流开发框架的无配置集成。
  • 项目可独立运行,无需外部依赖Servlet容器。
  • 提供运行时的应用监控。
  • 极大的提高了开发、部署效率。 与云计算的天然集成。
  • 内置Tomcat和Jetty容器。
  • 提供一个Starter Poms来简化Maven配置。
  • 提供一系列大型项目中常见的非功能性特性,如安全、指标、健康指标、外部配置等。

Spring Boot 的主要执行流程:

  • 初始化Spring Application实例
  • 初始化Spring Boot项目启动
    流程图

Spring Boot 自动配置的原理:

Spring Boot基础配置:
加在项目启动类上,组合以下注解:

  • @SpringBootConfiguration:表明这是个配置类,开发者可以在这个类中配置Bean,类似Spring中的applicationContext.xml的角色
  • @EnableAutoConfiguration:开启自动化配置,开发者可以使用自定义配置代替自动化配置的任意配置,所以它是非侵入式的
  • @ComponentScan:完成包扫描,默认扫描位置的类都位于当前类所在的包下面,所以项目启动类务必放在根包中,否则可能出现扫描不到的情况。
    代码片
@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}
)}
)

其他Web服务器配置:
Spring Boot 默认使用内嵌的Tomcat服务器,若使用其它web服务器,则需要排除Tomcat服务器,加入其它服务器的依赖。
代码片

 <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

properties配置:
Spring Boot 项目的application.properties配置文件可以出现如下4个位置:

  • 项目根目录的config文件夹
  • 项目根目录
  • classpath的config文件夹
  • classpath(默认使用)

Spring配置原理:

  • Spring Boot应用是可以编写多个配置类,使用@configuration标识;
  • SpringBoot会将其汇集起来构建出一个完整的运行时环境。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值