springboot学习003

@Value和@ConfigurationProperties

			 											功能   松散绑定   SpEL   JSR303数据校验   复杂类型封装
			@ConfigurationProperties  批量注入配置文件中的属性  支持  不支持  支持  支持
			@Value 								 一个个指定  不支持  支持  不支持  不支持

			配置文件yml还是properties他们都能获取到值;
			如果说,我们只是某个业务逻辑中需要获取一个配置文件中的某项值,使用@Value
			如果说,我们专门编写了一个JavaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

@PropertySource与@ImportResourse

		@ConfigurationProperties只能读取application.properties或application.yml,如果指定某个properties文件或者yaml文件,那么就需要使用@PropertySource注解
		@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效,Spring boot里没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效,加载进来,@ImportResource标注在一个配置类上。
@ImportResource(locations = {"classpath:beans.xml"})

配置文件的占位符

1. 随机数占位符
	${random.value}、${random.int}、${random.long}
2. 占位符获取之前配置的值,如果没有可以使用冒号:指定默认值
	person.last-name=张三${random.uuid}
	person.age = ${random.int}
	person.dog.name=${person.hello:hello}_dog

激活指定的profile

1.在多个profile配置文件时, 在配置文件中指定 spring.profiles.activate=dev,指定application-dev.properties
2.在多文档块时(yaml)时,配置。
3. 命令行执行:java -jar  xxx.jar --spring.profiles.acttivate=dev;
4. 虚拟机参数配置。

配置文件加载位置

1. springboot 启动会扫描application.yml/application.properties文件作为spring boot的默认配置文件。
2. spring boot 启动时会加载以下路径:
	- file:./config/
	- file:./
	- classpath:/config/
	- classpath:/
	以上按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。
	也可以在命令行,通过配置spring.config.location=xxx.properties来启动,进行配置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值