1. 首页 > 科技

运行springboot时显示xxx.proporties不存在,但是项目中包含该文件,请问是哪里配置的问题?

运行springboot时显示xxx.proporties不存在,但是项目中包含该文件,请问是哪里配置的问题?

spring boot默认配置文件在哪个包里

在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值:

1、引入依赖:

[html] view plain copy

.springframework.boot

spring-boot-configuration-processor

true

2、配置文件(application.yml)中配置各个属性的值:

[plain] view plain copy

myprops: #自定义的属性和值

simpleprop: simplepropvalue

arrayprops: 1,2,3,4,5

listprop1:

- name: abc

value: abcvalue

- name: efg

value: efgvalue

listprop2:

- config2value1

- config2vavlue2

mapprops:

key1: value1

key2: value2

3、创建一个bean来接收配置信息:

[java] view plain copy

@component

@configurationproperties(prefix="myprops") //接收application.yml中的myprops下面的属性

public class myprops {

private string simpleprop;

private string[] arrayprops;

private list> listprop1 = new arraylist<>(); //接收prop1里面的属性值

private list listprop2 = new arraylist<>(); //接收prop2里面的属性值

private map mapprops = new hashmap<>(); //接收prop1里面的属性值

public string getsimpleprop() {

return simpleprop;

}

//string类型的一定需要setter来接收属性值;maps, collections, 和 arrays 不需要

public void setsimpleprop(string simpleprop) {

this.simpleprop = simpleprop;

}

public list> getlistprop1() {

return listprop1;

}

public list getlistprop2() {

return listprop2;

}

public string[] getarrayprops() {

return arrayprops;

}

public void setarrayprops(string[] arrayprops) {

this.arrayprops = arrayprops;

}

public map getmapprops() {

return mapprops;

}

public void setmapprops(map mapprops) {

this.mapprops = mapprops;

}

}

启动后,这个bean里面的属性就会自动接收配置的值了。

4、单元测试用例:

[java] view plain copy

@autowired

private myprops myprops;

@test

public void propstest() throws jsonprocessingexception {

system.out.println("simpleprop: " + myprops.getsimpleprop());

system.out.println("arrayprops: " + objectmapper.writevalueasstring(myprops.getarrayprops()));

system.out.println("listprop1: " + objectmapper.writevalueasstring(myprops.getlistprop1()));

system.out.println("listprop2: " + objectmapper.writevalueasstring(myprops.getlistprop2()));

system.out.println("mapprops: " + objectmapper.writevalueasstring(myprops.getmapprops()));

}

测试结果:

[plain] view plain copy

simpleprop: simplepropvalue

arrayprops: ["1","2","3","4","5"]

listprop1: [{"name":"abc","value":"abcvalue"},{"name":"efg","value":"efgvalue"}]

listprop2: ["config2value1","config2vavlue2"]

mapprops: {"key1":"value1","key2":"value2"}

springboot @Value(“xxx”),取不到xxx就报错?能不能可选的,不配置xxx也不报错?

@Value("${applicaion.t:'abc'}")

private String t;

冒号后面是默认值

springboot项目启动的时候不报错,但是启动不起来是怎么回事?

报错信息是说没有active profile,所以,打开配置

选择

配置好后就可以了。

SpringBoot的配置文件有哪几种格式?

SpringBoot中的配置文件主要有三种格2113式,5261properties、yaml、和xml方式。

- 其中properties格式配置文件后缀是.properties,配4102置项1653为:server.port = 9090

- yaml格式配置文件后缀是.yml,配置项是:server.port: 9090

在SpringBoot中,使用最广泛的配置文件是yaml,yaml之所以流行,除了他配置语法精简之外,还因为yaml是一个跨编程语言的配置文件。

在SpringBoot中,除了yaml之外,properties也比较常用,但是XML几乎不用,看得出来Spring团队非常痛恨XML配置文件!认为它不是一个好的语言。

如果你对常见的配置文件有哪几种格式不熟悉,就去黑马程序员官网视频库看免费视频。