乐趣区

关于java:spring配置

什么是 JavaConfig?
Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的
纯 Java 办法。因而它有助于防止应用 XML 配置。应用 JavaConfig 的长处在
于:
(1)面向对象的配置。因为配置被定义为 JavaConfig 中的类,因而用户能够
充分利用 Java 中的面向对象性能。一个配置类能够继承另一个,重写它的
@Bean 办法等。
(2)缩小或打消 XML 配置。基于依赖注入准则的外化配置的益处已被证实。但
是,许多开发人员不心愿在 XML 和 Java 之间来回切换。JavaConfig 为开发人
员提供了一种纯 Java 办法来配置与 XML 配置概念类似的 Spring 容器。从技
术角度来讲,只应用 JavaConfig 配置类来配置容器是可行的,但实际上很多人
认为将 JavaConfig 与 XML 混合匹配是现实的。
(3)类型平安和重构敌对。JavaConfig 提供了一种类型平安的办法来配置
Spring 容器。因为 Java 5.0 对泛型的反对,当初能够按类型而不是按名称检索
bean,不须要任何强制转换或基于字符串的查找。
Spring Boot 主动配置原理是什么?
注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就
是主动配置的外围,
@EnableAutoConfiguration 给容器导入 META-INF/spring.factories 里定义的
主动配置类。
筛选无效的主动配置类。
每一个主动配置类联合对应的 xxxProperties.java 读取配置文件进行主动配置
性能
你如何了解 Spring Boot 配置加载程序?
在 Spring Boot 外面,能够应用以下几种形式来加载配置。
1)properties 文件;
2)YAML 文件;
3)零碎环境变量;
4)命令行参数;
等等……
什么是 YAML?
YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相
比,如果咱们想要在配置文件中增加简单的属性,YAML 文件就更加结构化,而
且更少混同。能够看出 YAML 具备分层配置数据。
YAML 配置的劣势在哪里 ?
YAML 当初能够算是十分风行的一种配置文件格式了,无论是前端还是后端,都
能够见到 YAML 配置。那么 YAML 配置和传统的 properties 配置相比到底有哪
些劣势呢?

  1. 配置有序,在一些非凡的场景下,配置有序很要害
  2. 反对数组,数组中的元素能够是根本数据类型也能够是对象
  3. 简洁
    相比 properties 配置文件,YAML 还有一个毛病,就是不反对
    @PropertySource 注解导入自定义的 YAML 配置。
    Spring Boot 是否能够应用 XML 配置 ?
    Spring Boot 举荐应用 Java 配置而非 XML 配置,然而 Spring Boot 中也能够
    应用 XML 配置,通过 @ImportResource 注解能够引入一个 XML 配置。
    spring boot 外围配置文件是什么?bootstrap.properties 和
    application.properties 有何区别 ?
    单纯做 Spring Boot 开发,可能不太容易遇到 bootstrap.properties 配置文
    件,然而在联合 Spring Cloud 时,这个配置就会常常遇到了,特地是在须要加
    载一些近程配置文件的时侯。
    spring boot 外围的两个配置文件:
    • bootstrap (. yml 或者 . properties):boostrap 由父
    ApplicationContext 加载的,比 applicaton 优先加载,配置在利用程
    序上下文的疏导阶段失效。一般来说咱们在 Spring Cloud Config 或者
    Nacos 中会用到它。且 boostrap 外面的属性不能被笼罩;
    • application (. yml 或者 . properties):由 ApplicatonContext 加
    载,用于 spring boot 我的项目的自动化配置。
    什么是 Spring Profiles?
    Spring Profiles 容许用户依据配置文件(dev,test,prod 等)来注册
    bean。因而,当应用程序在开发中运行时,只有某些 bean 能够加载,而在
    PRODUCTION 中,某些其余 bean 能够加载。假如咱们的要求是 Swagger 文档仅
    实用于 QA 环境,并且禁用所有其余文档。这能够应用配置文件来实现。Spring
    Boot 使得应用配置文件非常简单。
    如何在自定义端口上运行 Spring Boot 应用程序?
    为了在自定义端口上运行 Spring Boot 应用程序,您能够在
    application.properties 中指定端口。server.port = 8090
退出移动版