首页 > 编程知识 正文

yml文件配置数据库配置,java获取配置文件

时间:2023-05-04 13:50:08 阅读:42327 作者:3677

SpringBoot提供了许多默认配置,如果要更改默认配置,则必须在配置文件中进行更改。

缺省情况下,SpringBoot加载资源下的配置文件。

电子APP *.yml

*.YAML APP

application*.properties

这也是配置式的加载顺序,如果一个key有多个配置式,则后续加载的将复盖先前加载的配置式。

yml、yaml是同一类型的文件,后缀可以是yml、yaml中的任意一种。

一般使用application.yml。

yml文件语法

(1)常规字段:

name :张gsan

不在值上加引号

)对象,地图

对象、Map的配置方法相同。

student: #对象名称、Map名称

设置id: 1 #属性和键值对

name: chy

age: 20

score: 100

值是对象。

服务器:

port: 8080

servlet 3:

上下文路径:/spring boot

servlet的值是对象。 不配置上下文路径,默认值为/

)3)数组,List

city : [北京,上海,广州,深圳]

student : [ { name : zhangsan,age: 20},{name: lisi,age: 20}] #元素可以是对象

无论是key值还是数组元素,值都不会用引号引起来。

用key、value冒号分隔,冒号后面有空格。 加入空格后,key会变成橙色并启用。

使用yml值

对于预定义的springboot密钥,springboot将自动使用它。 如果是自定义密钥,则需要自己引用。 有两种引用方式。

(1)使用@Value

name: chy

@ restcontrollerpublicclassusercontroller {

@Value((${name} ) /使用@value向配置文件中注入值。 ${}加引号

隐私名称;

@requestmapping(/user ) (publicString handler ) ) {return name; //使用

}

}

${ }、' ${ } '无法直接使用配置文件中的值。

必须使用成员变量并使用@Value注入配置文件中的值从成员变量引用。

无论成员变量是何种数据类型,${ }都必须用引号引起来,并且会自动转换为所需的类型并注入。

用对象、映射和.填充单个字段,@value((${student.name} )。

使用数组、列表和下标填充单个元素,然后单击@value((${city[0] ) )

只能注入基本类型,不能直接注入整个对象、贴图、数组或列表。

(2) @配置属性注入对象,使用映射

如果使用@Value顺序填充对象和映射字段,则student.id、student.name和student.age具有相同的前缀student,但也可以这样填充

@ rest控制器

@ configuration properties (prefix=' student ' )/publicclassusercontroller { private intid; 隐私名称; 私有集成; 私有内得分; 公共语音设置(intid ) {this.id=id;

}公共语音集名称(字符串名称) {this.name=name;

}公共语音设置(intage ) {this.age=age;

}publicvoidsetscore(intscore ) {this.score=score;

}

@requestmapping(/user ) (publicString handler ) ) {return name; //使用

}

}

在设置前缀、设置相应的成员变量以及指定相应的设置方法时,将自动填充此字段的值。

运行,效果正常,但IDEA提示:

没有影响。 当然也可以添加到pom.xml中。

org.springframework.boot

spring-boot-configuration-processor

真的

以这种方式编写@ConfigurationProperties后,在yml中放置其前缀(对象)时,如果键入student .则字段heid (如有预选项id、name、age和score )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。