扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
整个项目所有的重要数据都是在配置文件中配置的,比如:
Spring Boot 配置文件的格式主要有两种:
如下所示:
注意:
实例:
可以看出, properties 有明显的缺,就是有挺多的冗余信息:
实例:
# 字符串
string.value: Hello
# 布尔值,true或false
boolean.value: true
boolean.value1: false
# 整数
int.value: 10
int.value1: 0b1010_0111_0100_1010_1110 # ⼆进制
# 浮点数
float.value: 3.14159
float.value1: 314159e-5 # 科学计数法
# Null,~代表null
null.value: ~
4. 配置信息读取
4.1 自定义配置信息读取首先在配置信息中,配置一个自定义信息:
然后读取:
@RestController
public class TestController {@Value("${mykey.key1}")
private String mykey;
@RequestMapping("/hi")
public String sayhi(){return "hi,"+mykey;
}
}
打印结果:
以项目端口号为实例,先配置项目端口号:
然后读取:
@RestController
public class TestController {@Value("${server.port}")
private String port;
@RequestMapping("/hi")
public String sayhi(){return "hi,"+port;
}
}
打印结果:
yml配置如果使用了双引号修饰value值,那么value值就会触发其本身的作用,比如:\n表示换行。
先在 .yml 配置文件中配置 student对象:
创建和配置文件相对于的Student类:
注意:要想上面的ConfigurationProperties能成功绑定,就必须是这个类具Setter方法
@Component//将该对象存储在Spring当中
@ConfigurationProperties(prefix = "student")//把配置文件中的student配置赋值给当前的对象
@Data//使该类中的变量有Getter和Setter方法,
public class Student {private int id;
private String name;
private Integer age;
}
运行测试类:
@RestController
public class TestController {@Autowired
private Student student;
@RequestMapping("/hi")
public String sayhi(){return "id:"+student.getId()+" | name:"+student.getName();
}
}
运行结果:
在配置文件中创建一个集合:
创建和配置文件中相对于的类:
@Component
@ConfigurationProperties(prefix = "dbtypes")
@Data
public class DBTypes {private List name;//这个名字必须和配置文件中的name所对应
}
运行测试类:
@RestController
public class TestController {@Autowired
private DBTypes dbTypes;
@RequestMapping("/hi")
public String sayhi(){return dbTypes.toString();
}
}
运行结果:
创建一下配置文件:
每个配置文件中都配置一个端口号,然后在 application.yml 中选择某一个配置,如application-dev.yml:
那么启动项目,项目将在8888端口运行,即dev端口:
需要注意的是:在创建各个环境的配置文件时,必须以 application- 开头,其后面跟着字符就是环境名称,在 application.yml 中选择时,写的就是它。即:
这种方式就可以控制程序在不同环境中运行,比如果dev环境使用的时数据库A,test环境数据库B,切换这两者时,就只需要在application.yml中重写选择就行,就不需要重新写,即用啥环境就选择啥环境
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流