SpringBoot(三)之配置的两种方式

配置方式一:

新建一个类
在这里插入图片描述

  • @ConfigurationProperties(prefix = “student”)
    Springboot标记了IOC容器里面的一个对象
    当IOC里面的对象初始化完成之后,再去扫描ConfigurationPropertes,然后把配置文件里面是student前缀开头的配置注入到IOC这个对象的相应set方法里面去

在application.properties配置文件里注入属性值
在这里插入图片描述
注:可能在配置文件中没有提示属性值名称,加入依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

配置方式二:

类里面的配置相同
建立application.yml文件
application.properties文件配置的优先级高于yml
在这里插入图片描述
区别:@ConfigurationProperties(prefix = “student”)和@Value
@ConfigurationProperties :批量注入
@Value 一个个指定(属性名上写)例如:

   @Value("${student.name}")
    private  String name;

并且不支持list,map等复杂数据类型

其他配置的注解:

@PropertySource

上面的配置文件都是写在application.properties或者application.yml中的,如果不想写在里面用@PropertySource注解即可,创建student.propertes配置文件,在里面写配置
在这里插入图片描述
也可将其写在启动类上面
在这里插入图片描述

@ImportResource

@ImportResource(“classpath=”)
使用原来(spring)形式的注解,创建xxx.xml (极度不推荐)

<bean id="" class="{>
	<property name="" value=""> </property>
</bena>

@profiles

1.为什么要使用@profiles

在开发中,一般有两种环境

  • 生产环境(项目上线,客户在使用)
  • 开发环境
    有时候开发环境和生产环境的配置是不一样的,如何做到快速切换呢,这里就要使用到@profiles
2.使用方法

1.创建application-dev.properties

server.port=8081

2.创建application-pro.properties

server.port=8082

3.修改applicationproperties

server.port=8080
spring.profiles.active=pro

在这里插入图片描述

配置文件加载优先级和外部配置文件加载

内部配置文件架加载
内部配置文件加载有哪些目录
  • ./ 项目的根目录
  • ./config/ 项目根目录下的config目录
  • classpath:/ 编译路径下的根目录
  • classpath:/config/ 编译路径下的config目录

优先级
在这里插入图片描述

外部配置文件架加载
  • 文件加载
    • 默认会加载
      ./config/application.yml
      ./application.yml
  • 属性加载
    server.port=****
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值