zoukankan      html  css  js  c++  java
  • SpringBoot---基本了解

    什么是 Spring Boot?

      Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Spring Boot 的最大的优势是“约定优于配置“

    SpringBoot约定优于配置的体现

      一、Maven的目录结构:

        1.默认有resources文件夹存放配置文件

        2.默认打包方式为jar

      二、Spring Boot 默认支持 properties(.properties) 和 YAML(.yml .yaml ) 两种格式的配置文件

             如果在项目中遇到application.properties出现中文乱码的问题,可以改用YAML,

        出现原因是因为Spring Boot总是会以iso-8859的编码方式读取该文件。

             而且YAML拥有更简洁的语法,因此更推荐使用application.yml作为默认的配置文件。

      三、默认通过 spring.profiles.active 属性来根据运行环境自动读取不同的、额外的配置文件

             ex:将该属性定义为dev,SpringBoot就会额外从application-dev.properties/application-dev.yml文件中读取该环境的配置

      四、EnableAutoConfiguration 默认对于依赖的 starter 进行自动装载。

      五、spring-boot-start-web 中默认包含 spring-mvc 相关依赖以及内置的 tomcat 容器,使得构建一个 web 应用更加简单。

    为什么要用 Spring Boot?

      Spring Boot 优点非常多,如:

        独立运行   创建独立的Spring应用程序

        内置Tomcat等容器,无需部署WAR文件

        简化maven配置

        自动配置Spring

        无代码生成并且对XML也没有配置要求

        提供一系列非功能特性,如安全、指标,应用监控,健康检测。

      Spring Boot 缺点?

        没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也需要与现有的监控对接

    Spring Boot 的核心配置文件有哪几个?它们的区别是什么?

      Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。

      application 配置文件主要用于 Spring Boot 项目的自动化配置。

      bootstrap 配置文件有以下几个应用场景。

      使用SpringCloudConfig 配置中心时,要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;

      一些固定的不能被覆盖的属性;一些加密/解密的场景;

    Spring Boot 的配置文件有哪几种格式?它们有什么区别?

      .properties 和 .yml,它们的区别主要是书写格式不同。

      1.properties: app.user.name-=jack

      2..yml

        server:

          port: 8889

      另外,.yml 格式不支持 @PropertySource 注解导入配置。

    开启 Spring Boot 特性有哪两种方式?

      1.继承spring-boot-starter-parent项目

      2.导入spring-boot-dependencies项目依赖

     Spring Boot 需要独立的容器运行吗?

      可以不需要,内置了 Tomcat/ Jetty/Undertow三种web容器。

     运行 Spring Boot 有哪几种方式?

      1.打包用命令或者放到容器中运行

      2.用 Maven/ Gradle 插件运行

      3.直接执行 main 方法运行

    你如何理解 Spring Boot 中的 Starters?

      Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如果你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。Starters包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖

    如何在 Spring Boot 启动的时候运行一些特定的代码?

      可以实现接口 ApplicationRunner 或者 CommandLineRunner,这两个接口实现方式一样,它们都只提供了一个 run 方法

    Spring Boot 有哪几种读取配置的方式?

      Spring Boot 可以通过 @PropertySource,@Value,@Environment, @ConfigurationProperties 来绑定变量

      注意:yml 格式不支持 @PropertySource 注解导入配置。

    Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?

      Spring Boot 支持 Java Util Logging, Log4j2, Lockback 作为日志框架,如果你使用 Starters 启动器,Spring Boot 将使用 Logback 作为默认日志框架。

    SpringBoot 实现热部署有哪几种方式?

      主要有两种方式:

    • Spring Loaded
    • Spring-boot-devtools

    你如何理解 Spring Boot 配置加载顺序?

      在 Spring Boot 里面,可以使用以下几种方式来加载配置。

      1.properties文件;

      2.YAML文件;

      3.系统环境变量;

      4.命令行参数;

      等等……

    Spring Boot 如何定义多套不同环境配置? 

      提供多个配置文件:

      application.properties(spring.profiles.active=dev)

      application-dev.properties

      application-test.properties

      application-prod.properties

    Spring Boot 可以兼容老 Spring 项目吗,如何做?

      可以兼容,使用 @ImportResource 注解导入老 Spring 项目配置文件。

       

     

    我话讲完!谁赞成?谁反对?
  • 相关阅读:
    自动化运维之日志系统ES+Kibana展示(二)
    自动化运维之日志系统ElasticSearch篇(一)
    Zabbix应用监控系列之Redis状态监控
    zabbix监控tomcat
    Dynamic CRM2016在一台本地服务器安装部署
    windows server 2012r2 中文输入法不能使用
    microsoft dynamic CRM2016安装时报错组件未安装
    Linux RHCE 文件,目录和帮助(转)
    Linux系统管理员的命令行工具箱目录(转)
    linux本地用户和组的管理(转)
  • 原文地址:https://www.cnblogs.com/wffzk/p/13430535.html
Copyright © 2011-2022 走看看