springboot指定属性返回_SpringBoot中属性赋值操作的实现

本文介绍了在SpringBoot中如何动态地为属性赋值,避免硬编码,提高代码可维护性。通过YML文件和properties配置文件,利用`@Value`注解结合SpEL表达式从配置文件读取数据,实现IP和端口等数据的动态获取。示例代码展示了如何在`RedisController`中使用这些方法。
摘要由CSDN通过智能技术生成

说明:当程序中出现频繁变化的数据时,如果采用认为的方式进行修改并且编译打包则会导致代码的耦合性较高,不便于维护!所以能否为属性动态赋值?

属性固定值

//动态获取ip和端口数据

/**

* @responseBody

* 注解作用:

* 1.将对象转化成Json格式,

* 2.如果返回值是String类型,则返回字符串本身

* 3.一般客户端发起ajax请求时,采用该注解返回数据,将不会执行视图解析器操作

*/

@RestController

public class RedisController{

private String host="192.168.126.112";

private Integer port=6379;

public String getMsg(){

return host+":"+port;

}

}

动态获取ip和端口数据

关于YML文件说明

#YML文件语法:

# 1.key:(空格) value 注意:value前面有个空格

# 2.key与key之间有层级的缩进关系

server:

port: 8090

#属性赋值操作,编辑属性时注意前缀,只要springboot启动,该数据就会被写入内存中,key-value格式

redis:

host: 192.168.126.130

port: 6379

为属性赋值操作

public class RedisController {

@Value("${redis.host}") //spel表达式

private String host; // = "192.168.126.130"; private String host; // = "192.168.126.130";

@Value("${redis.port}")

private Integer port; // = 6379;

@RequestMapping("/getMsg")

public String getMsg(){

return host + ":" + port;

}

}

指定配置文件为属性赋值

说明:由于YML配置文件中的数据一般都是系统级别的数据,所以一般的业务数据都会写到peoperties配置文件中。

编辑RedisController

@RestController

//动态导入pro配置文件,交给spring容器进行加载

@PropertySource("classpath:/properties/redis.properties")

public class RedisController {

//通过YML给属性赋值

@Value("${redis.host}")//sple表达式

private String host;

@Value("${redis.port}")

private Integer port;

@RequestMapping("/getMsg")

public String getMsg(){

return host+":"+port;

}

/*由于YML配置文件中的数据一般都是系统级别的数据,所以一般的业务数据

都会写到peoperties配置文件中*/

//通过properties给属性赋值

@Value("${pro.redis.host}")

private String prohost;

@Value("${pro.redis.port}")

private Integer proport;

@RequestMapping("/getpro")

public String getpro(){

return prohost+":"+proport;

}

}

到此这篇关于SpringBoot中属性赋值操作的实现的文章就介绍到这了,更多相关SpringBoot 属性赋值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值