SpringBoot--实战开发--常用配置类(五十三)

一、@ConfigurationProperties

  想把配置文件的信息,读取并自动封装成实体类,可以使用@ConfigurationProperties,它可以把同类的配置信息自动封装成实体类。

  1. 配置文件
connection.username=admin
connection.password=123456
connection.remoteAddress=192.168.1.1
  1. 定义一个实体类装载配置文件信息
@Component
@ConfigurationProperties(prefix="connection")
@Data
public class ConnectionSettings {
    private String username;
    private String remoteAddress;
    private String password ;
}

二、@EnableConfigurationProperties

@EnableConfigurationProperties注解的作用是:使 @ConfigurationProperties 注解的类生效。
说明:
如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。说白了 @EnableConfigurationProperties 相当于把使用 @ConfigurationProperties 的类进行了一次注入。

@Configuration
@AllArgsConstructor
@Order(Ordered.HIGHEST_PRECEDENCE)
@EnableConfigurationProperties({
        TiamatProperties.class
})
public class TiamatBaseConfiguration {
}

三、ServerProperties 类

Springboot配置文件中以server开头的项表示服务器的配置参数,这一点从字面意义即可直观理解,这些参数,包括端口,路径设置,SSL配置参数等等。
ServerProperties读取服务器配置参数:
ServerProperties是springboot的自动配置autoconfigure工具,位于包

org.springframework.boot.autoconfigure.web

该类用于提供服务器的端口,路径,SSL等参数设置,它实现了接口EmbeddedServletContainerCustomizer,是专门设计给EmbeddedServletContainerCustomizerBeanPostProcessor用来定制EmbeddedServletContainerFactory实例的。
ServerProperties在容器启动时会被作为bean定义注册到容器,在容器启动过程中应用EmbeddedServletContainerCustomizerBeanPostProcessor的阶段,ServerProperties bean会被实例化,此时配置文件会被该bean读取。

你可能感兴趣的:(SpringBoot--实战开发--常用配置类(五十三))