SpringBoot默认的配置文件为application.properties或者application.yml,应用启动时会自动加载此文件,无需手动引入。自定义属性
在
application.properties
中定义属性值
#自定义属性
rumenz.name=rumenz
rumenz.url=https://rumenz.com
通过
@Value
注解来获取值
@RestController
@RequestMapping("/rumenz")
public class RumenzController {
@Value("${rumenz.name}")
private String rumenzName;
@Value("${rumenz.url}")
private String rumenzUrl;
@RequestMapping("/index")
public String index(){
return rumenzName+":::"+rumenzUrl;
}
}
访问配置绑定http://127.0.0.1:8080/rumenz/index
路径,会返回rumenz:::https://rumenz.com
。
【第六节:SpingBoot基本配置一】有时间有需要注入的属性比较多,一个一个绑定很繁琐,官方建议通过Bean的方式加载。
application.properties配置文件定义属性值
com.rumenz.id=1
com.rumenz.name=hello
RumenzConfig配置文件
@Component
@ConfigurationProperties(prefix = "com.rumenz")
public class RumenzConfig {
private Integer id;
private String name;
public Integer getId() {
return id;
}public void setId(Integer id) {
this.id = id;
}public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}
}
测试
浏览器输入http://127.0.0.1:8080/rumenz/index1
,返回1:::hello
@RestController
@RequestMapping("/rumenz")
public class RumenzController {@Autowired
RumenzConfig rumenzConfig;
@RequestMapping("/index1")
public String index1(){
return rumenzConfig.getId()+":::"+rumenzConfig.getName();
}
}
参数引用
在application.properties中的各个参数之间可以直接引用来使用
com.rumenz.id=1
com.rumenz.name=hello
com.rumenz.des=${com.rumenz.name}${com.rumenz.id}
新建
RumenzController
测试
@RestController
@RequestMapping("/rumenz")
public class RumenzController {@Value("${com.rumenz.des}")
private String rumenzDes;
@RequestMapping("/index2")
public String index2(){
//配置文件参数引用
//com.rumenz.des=${com.rumenz.name}${com.rumenz.id}
return rumenzDes;
}
}
浏览器访问
http://127.0.0.1:8080/rumenz/index2
返回hello1
自定义的配置文件一般的配置项都在application.properties
中,很多时候有一些配置信息我们想单独存放。比如我们创建了一个rumenz.properties
的自定义配置文件。
com.rumenz.tag=入门小站
com.rumenz.txt=这是一个教程网站
自定义的配置文件系统不会自动加载,需要用
@PropertySource
加载。需要加载多个可以用设置数组。
测试
@RestController
@RequestMapping("/rumenz")
@PropertySource(value="https://www.it610.com/article/classpath:rumenz.properties",encoding = "utf-8")
public class Rumenz1Controller {@Value("${com.rumenz.tag}")
private String rumenzTag;
@Value("${com.rumenz.txt}")
private String rumenzTxt;
@RequestMapping("/index3")
public String index3(){
//这是自定义配置中配置的属性
return rumenzTag+rumenzTxt;
}
}
浏览器访问加载多个自定义配置文件http://127.0.0.1:8080/rumenz/index3
,返回入门小站这是一个教程网站
@PropertySource(value = https://www.it610.com/article/{"classpath:rumenz.properties",
"classpath:rumenz2.properties",
}, encoding = "utf-8")
本小结源码地址:
- GitHub:https://github.com/mifunc/spr...
- Gitee:https://gitee.com/rumenz/spri...
- https://rumenz.com/rumenbiji/...
介绍
- 我的博客 https://rumenz.com/
- 我的工具箱 https://tooltt.com/
- 微信公众号:【入门小站】
文章图片
- 关注【入门小站】回复【1001】获取 linux常用命令速查手册
- 关注【入门小站】回复【1003】获取 LeetCode题解【java语言实现】
- 关注【入门小站】回复【1004】获取 Java基础核心总结
- 关注【入门小站】回复【1009】获取 阿里巴巴Java开发手册
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)