Springboot通过配置文件给属性赋值

时间:2024-10-09 20:48:12
给属性赋值的几种方式

下面从一个例子来解释
创建一个Dog类,包含name、age属性,添加它的无参构造、有参构造方法,以及getter和setter方法,还有toString方法。
在这个类上面加上@Component,把这个类添加进spring的组件里。

创建一个Person类,包含name、age、birth(Date类型,util那个包)、happy(是否快乐,boolean类型)、Dog、Map、List属性
添加它的无参构造、有参构造方法,以及getter和setter方法,还有toString方法。在这个类上面加上**@Component**
在这里插入图片描述
给Dog类的属性赋值,通过@value(" ")的方式
在这里插入图片描述
接下来在测试类里测试一下
在这里插入图片描述
可以看到dog是注入成功了的
在这里插入图片描述
显然这样赋值是很麻烦的,name如何从外部给它赋值呢?

通过yaml给Person赋值

yaml配置文件赋值比properties更简便
在Resourses目录下新建(application名字固定)
注意yaml配置文件的语法结构是:
(yaml对空格要求极严格)

key:空格value
  • 1

在这里插入图片描述
那么如何把配置文件与Person类绑定呢?
@ConfigurationProperties(prefix=“person”)
通过这个prefix参数把实体类Person与配置文件绑定起来
在这里插入图片描述
再在测试类里面测试,输出了刚刚给person的值。说明赋值成功了!
在这里插入图片描述
在添加@ConfigurationProperties(prefix=“person”)时上面抛红,提示自动注解的一个类没找到
在这里插入图片描述
点开后发现什么都没有在这里插入图片描述
只需要在地址栏改低版本
在这里插入图片描述

就出来了
在这里插入图片描述
提示我们添加依赖

<dependency>
	<groupId></groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

自己添加进去,重启IDEA就好了
加载指定的配置文件,不用核心配置文件application
@PropertySource(value = “classpath:”)
再在声明属性的上方添加@Value("${name}")就可以把properties文件里面的属性值与实体类的属性绑定起来。达到赋值的目的。

相关文章