概述
yml文件
web:
uploadPath: ${web.upload_path}
platformUrl: ${web.platform_url}
在代码中通过@Value使用yml中给的值
@Value("${web.uploadPath}")
private String uploadpath;
因为yml文件不能通过@VALUE获取,启动项目会报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'yssCoursePortalController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'web.uploadpath' in string value "${web.uploadpath}"
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'web.uploadpath' in string value "${web.uploadpath}"
使用实体类
package com.xinlianpu.village.utils;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Component
@ConfigurationProperties(prefix = "web")
public class YmlValueUtil {
private String uploadPath;
private String platformUrl;
private final Security security = new Security();
public String getUploadPath() {
return uploadPath;
}
public void setUploadPath(String uploadPath) {
this.uploadPath = uploadPath;
}
public String getPlatformUrl() {
return platformUrl;
}
public void setPlatformUrl(String platformUrl) {
this.platformUrl = platformUrl;
}
public Security getSecurity() {
return security;
}
public static class Security{
private String userName;
private List<String> roles = new ArrayList<>(Collections.singleton("USER"));
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public List<String> getRoles() {
return roles;
}
public void setRoles(List<String> roles) {
this.roles = roles;
}
}
}
在其它文件中使用
注入
@Autowired
private YmlValueUtil ymlValueUtil;
获取使用
File file = new File(ymlValueUtil.getUploadPath() + "/course" + course.getId() + ".html");
最后
以上就是落寞睫毛膏为你收集整理的获取YML文件中的值的全部内容,希望文章能够帮你解决获取YML文件中的值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复