1.自动配置注解:
@EnableAutoConfiguration //启用自动配置
关闭自动配置
@EnableAutoConfiguration(exclude={相应的配置类.class}) //关闭自动配置
2.全局配置文件
SpringBoot的全局配置文件默认为application.properties 或 application.yml
相关的全局配置文件也必须以application名开头,以properties或yml为后缀
例:application-dev.yml 、 application-sit.yml
3.获取配置文件中自定义属性的值
例:
配置文件中的自定义属性:
book.name = 豆豆是怎样练成的
获取值:
@value("${book.name}")
private String bookName;
system.out.prinlt(bookName);
4.类型的安全配置
相较于使用“@value()” 注解而言,安全配置更加简单方便
只需在类上加注解:@ConfigurationProperties(prefix="前缀名称"),然后类中的属性与配置文件中的属性名称相同,并生成get、set方法,即可获取属性值。
例:
application配置文件中的自定义属性:
bady.name = 豆豆
bady.age = 2
bady.sex = 女
获取值:
在类上加注解:@ConfigurationProperties(prefix="bady")
private String name;
private String age;
private String sex;
然后生成get、set方法,调用方法即可获取自定义属性值
5.profile的配置
因为在不同的环境中,开发环境、测试环境等,相关配置可能也会略有不同,不能每次都修改配置文件,所以就需要创建多个配置文件,并以全局配置文件做控制。
例:
开发时使用配置文件:application-dev.properties
测试时使用配置文件:application-sit.properties
在全局配置文件application.properties中,就可以使用:spring.profiles.active=dev 来控制相关环境下的配置属性,如果想用测试环境的配置文件,就将属性值改为配置文件的小名“sit”即可。
6.SpringBoot自动配置原理
在项目启动前,先去读取了sprngBoot自动配置的jar包下的META-INFO文件夹下的spring.factores文件,该文件中,记录了所有的相关配置类的class。项目启动时,优先实例化需要用到的相关class类,如果全局配置文件中没有对相关的配置进行修改,那么就默认使用class类中的配置属性。
原文:https://www.cnblogs.com/zhang741741/p/12405150.html