风流不在谈锋胜,袖手无言味最长。这篇文章主要讲述Spring boot application.properties和 application.yml 初学者的学习相关的知识,希望能为你提供帮助。
来自于java尚硅谷教程
简单的说这两个配置文件更改配置都可以更改默认设置的值比如服务器端口号之类的,只需再文件中设置即可, properties可能是出现的比较早了,如果你不调你的默认编码,中文可能乱码,yml则不会,至于在两个文件中写不同配置最终执行那个?我没试不得而知!总之都很好用!
说白了为了提高代码复用性是这样吧意思这个就是为了方便从配置文件中读值
例如你建立了一个bean类
别指望运行
Person.java
package com.automavn.bean; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; /* * 把配置文件映射到组件中 * prefix对配置文件哪一个属性下的文件进行映射@Component必须要加 * */ @Component @ConfigurationProperties(prefix = "person") public class Person { private String name; privateintage; private List< Object> list; private Map< Object,Object> map; @Override public String toString() { return "Person{" + "name=\'" + name + \'\\\'\' + ", age=" + age + ", list=" + list + ", map=" + map + \'}\'; }public String getName() { return name; }public void setName(String name) { this.name = name; }public int getAge() { return age; }public void setAge(int age) { this.age = age; }public List< Object> getList() { return list; }public void setList(List< Object> list) { this.list = list; }public Map< Object, Object> getMap() { return map; }public void setMap(Map< Object, Object> map) { this.map = map; } }
@Component @ConfigurationProperties(prefix = "person")这两个配置是要加的同时要在maven配置(pom.xml)你的yml将会提示你拥有的类的信息
< !-- 有了这个bean 下yml的配置将会提示 而且dependency 在dependencies标签下--> < dependency> < groupId> org.springframework.boot< /groupId> < artifactId> spring-boot-configuration-processor< /artifactId> < optional> true< /optional> < /dependency>
application.properties的值的大致写法
# 要设置你的编码否则这个会乱码 设置为UTF-8 在设置里面设置 person.age=20 person.name=爸爸 #list用逗号隔开 person.list=a,b,c,d person.map.key=第一个key值 person.map.key1=第二个key值
application.yml的值的大致写法你写的对不对点击文字底部状态栏会有提示的(IDEA)
person: name: 爸爸 age: 18 list: - 第一个list - 第二个list map: {k1: v1 , k2: v2 }
文章图片
【Spring boot application.properties和 application.yml 初学者的学习】
@Component@ConfigurationProperties(prefix = "person") @Validated 可以添加对格式的判断例如@Email 但是@Value不行--------------------------------------------------- @Value("${person.name}") 利用@Value获取特定的值 以前没学过Spring建议....语法不大懂走一步说一步吧
----------------------------------------------------------------------------------------------------------第二天------------------------------------------------------
@PropertySource(value=https://www.songbingjia.com/android/{classpath:resources下的自定义的properties文件})有了这个文件就可以读你自定义的配置了,原来是全局的
SpringBoot推荐使用给容器添加组件方式为 @Bean给容器添加组件
例如:
@Configuration public class MyConfig { @Bean//组件ID默认为方法名称 public HelloService hello() { }}
推荐阅读
- Illegal modifier for parameter userMapper; only final is permitted
- APP测试内容--手机电量测试
- 将CX策略整合到你的网站重新设计中
- UX入门的13种最佳学习资源
- 11种创建精美GIF的最佳工具
- 11个很棒的UX设计用户流程工具推荐
- 机器学习理论及其应用简介(带有示例的可视教程)
- 不断进步(使用此开源代码执行自己的队列分析)
- 我如何通过Python视频流使Porn效率提高20倍