Springboot如何获取yml、properties参数

网友投稿 957 2022-10-18

Springboot如何获取yml、properties参数

Springboot如何获取yml、properties参数

目录如何获取yml、properties参数1、使用@Value()注解2、使用 @component配置文件读取yml自定义参数(亲测可用)首先自定义一个参数利用平时@value 获取值另一种方式   类上面添加@component

如何获http://取yml、properties参数

1、使用@Value()注解

1.1 配置数据

如:在properties.yml文件配置如下数据

message_zh: 张三

message_en: ergouzi

在controller中获取:

1.2 读取数据

读取自定义文件:须加注解

@PropertySource(value = {"classpath:config.yml","classpath:config.properties"})

读取application文件不需要加注解

// 中文

@Value("${message_zh}")

private String message_zh;

// 英文

@Value("${message_en}")

private String message_en;

@RequestMapping(value = "/{id}")

public String index(HttpServletRequest request, @PathVariable Integer id){

if (id == 1 ){

request.setAttribute("info",message_zh);

}else {

request.setAttribute("info", message_en);

}

return "index";

}

2、使用 @component

@ConfigurationProperties(prefix = "user")

@PropertySource(value = "classpath:myConfig.properties")

首先在myConfig.properties或myConfig.yml中配置参数:

user.userName = '李二狗'

user.password = 'admin'

2.1 javabean

/**

* 〈一句话功能简述〉

* 〈yml或properties配置参数〉

*

* @author 丶Zh1Guo

* @create 2018/11/21

* @since 1.0.0

*/

@Component                                // 组件

@ConfigurationProperties(prefix = "user")             // 前缀

@PropertySource(value = "classpath:myConfig.properties")    // 自定义配置文件路径

public class properConfig {

private String userName;   // 注意要和配置文件一致

private String password;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

2.2 controller

/**

* 〈一句话功能简述〉

* 〈〉

*

* @author 丶Zh1Guo

* @create 2018/11/21

* @since 1.0.0

*/

@restController

public class tempWLomvzHDlate {

@Autowired

properConfig config;

@RequestMapping(value = "/config")

public String config(){

return config.getUserName();

}

}

总结:

第一种方法适合只取某些数据

第二种方法适合取所有数据

yml和properties区别

yml:key:(空格)value

properties: key = value

配置文件读取yml自定义参数(亲测可用)

dict:

js:

url: D:\jsFile\

首先自定义一个参数

@Component

@Data

@ConfigurationProperties(prefix = "dict.js")

@PropertySource(value = "classpath:applicathttp://ion-dev.yml")

public class PropertisParam {

private String url;

}

利用平时@value 获取值

然后在所需要的调用的配置类里面注入PropertisParam,利用@PostConstruct初始化值

@Resource

private ProperWLomvzHDtisParam param;

private static String root=null;

@PostConstruct

public void init(){

root = param.getUrl();

}

另一种方式

@Data

@Component

@ConfigurationProperties(prefix = "spring")

public class LoginBody {

private String appid;

private String apiCode;

private String userName;

}

基本写法就不解释了:主要讲一哈注入方式

类上面添加@component

private static LoginBody loginBody;

@Resource

public void init(LoginBody loginBody) {

SecurityUtil.loginBody = loginBody;

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker MySQL 环境下运行
下一篇:Kubernetes ConfigMap概念与创建
相关文章

 发表评论

暂时没有评论,来抢沙发吧~