28.springboot的原理解析

1.profile功能(多配置文件功能,可以决定使用哪个配置文件)

这里需要注意的是:
1.起作用的配置有两个:
        1.默认的配置文件application.properties  
        2.自定义的配置文件application-pro.yml(前缀必须是application)
    并且是两个配置文件共同起作用,如果两个配置文件中都配置了某个内容,自定义的配置文件application-pro.yml会覆盖默认配置文件
    
2.可以使用命令行的形式指定哪个自定义配置文件生效:例如
    java -jar xxx.jar --spring.profiles.active=pro --person.name=hh
     重要点1:--spring.profiles.active=pro可以指定哪个自定义配置文件生效
    重要点2:--person.name=hh可以直接修改配置文件中某个配置项的内容

结论:
1.命令行指定配置文件方式优先级高于application.properties中的配置
2.命令行的形式可以直接修改配置文件中的某项配置内容,其优先级也高于配置文件中的配置

2.@Profile标签的使用(指定什么环境时才生效)

使用用例
    @Configuration
    public class Myconfiguration {
        @Bean
        //重要点1:当配置文件是pro生效时才注入
        @Profile("pro")
        public Person getPerson(){
            return new Person(18,"吴孟达","你好");
        }
        @Bean
        //重要点2:当配置文件是test生效时才注入
        @Profile("test")
        public Dog getDog(){
            return new Dog(18,"刘丹","你好");
        }
    }
用法总结:
    1.@Profile("pro")可以用到方法上,当是pro配置文件生效时,才执行当前方法
    2.@Profile("test")用在类上时,当是test配置文件生效时,类中的所有方法才生效

3.profile分组

application.properties中的配置如下:
    #重点1:指定哪个配置组生效
    spring.profiles.active=wmdProd
    #重点2:定义配置组:spring.profiles.group.自定义配置组名[数字]=配置文件后缀
    spring.profiles.group.wmdProd[0]=pro
    spring.profiles.group.wmdProd[1]=test
    #重点3:定义其他的配置组名
    spring.profiles.group.wmdtest[0]=ppd

结论:
    1.profile分组配置是同时加载多个配置文件,若在多个配置文件中都配置了某项配置,[数字],数字大的会覆盖数字小的

posted @ 2022-05-11 22:38  努力的达子  阅读(62)  评论(0编辑  收藏  举报