SpringBoot中属性赋值操作的实现
作者:小飞 发布时间:2022-05-04 18:10:30
标签:Spring,Boot,属性赋值
说明:当程序中出现频繁变化的数据时,如果采用认为的方式进行修改并且编译打包则会导致代码的耦合性较高,不便于维护!所以能否为属性动态赋值?
属性固定值
//动态获取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;
}
}
来源:https://segmentfault.com/a/1190000037551009


猜你喜欢
- 1.如果执行了try块没有异常,则继续运行finally块中的语句,即使try块通过return,break,或者continue于最后的语
- 01.点明观点 C#中,非托管资源使用之后必须释放,而using()是使用非托管资源的最佳方式,可以确保资源在代码块结束之后被正确
- EF的基本使用 一、EF的创建二、修改数据库一、加数据库字段二、加数据库 表 一、EF的创建第一步: 创建一个类库第二步: 选择类库第三步:
- 一、进程线和程的概念线程: 一个线程是一个独立的执行流,每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 “同时
- 一、java异常总结:异常就是程序运行时出现不正常运行情况1.异常由来:通过java的类的形式对现实事物中问题的描述,并封住成了对象其实就是
- 1.关于7z首先在这里先介绍一下7z压缩软件,7z是一种主流的 压缩格式,它拥有极高的压缩比。在计算机科学中,7z是一种可以使用多种压缩算法
- 线程堆栈:简称栈 Stack托管堆: 简称堆 Heap使用.Net框架开发程序的时候,我们无需关心内存分配问题,因为有GC这个大管家给我们料
- 本文介绍通过Java程序批量替换PDF中的指定文本内容。程序环境准备如下:程序使用环境如图,需要注意的是,本文使用了免费版的PDF jar工
- 在编程的时候或者写网络爬虫的时候,经常需要对html进行解析,抽取其中有用的数据。一款好的工具是特别有用的,能提供很多的帮助,网上有很多这样
- spring-boot-starter-actuator提供服务健康检查和暴露内置的url接口。spring-cloud-starter-c
- 前一段时间遇到一个问题,是关于读取项目中文件资源的问题。我是一个maven工程 我把一张照片放到resource下面,然后在本地读取的时候可
- 本文实例讲述了Java排序算法总结之希尔排序。分享给大家供大家参考。具体分析如下:前言:希尔排序(Shell Sort)是插入排序的一种。是
- 编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得幸运观众的姓名。思路如
- 公钥与私钥公钥与私钥是成对的,一般的,我们认为的是公钥加密、私钥解密、私钥签名、公钥验证,有人说成私钥加密,公钥解密时不对的。公钥与私钥的生
- 目录背景Shutdown Hook 介绍关闭钩子被调用场景注意事项实践Shutdown Hook 在 Spring 中的运用背景如果想在 J
- 每日一笑下班和实习生一起回家,公交站等车,一乞丐把碗推向实习生乞讨。这时,实习生不慌不忙的说了句:“我不要你的钱,你这钱
- 1、Alt+*(按钮快捷键)按钮快捷键也为最常用快捷键,其设置也故为简单。在大家给button、label、menuStrip等其他控件的T
- 本文介绍了java web每天定时执行任务,分享给大家,具体如下:第一步:package com.eh.util;import java.u
- 以下这段C#代码实现的功能是在屏幕上画图的效果!具体代码如下://DllImport所在的名字空间 using System.Ru
- 1、UUID类库UUID 根据时间戳实现自动无重复字符串定义// 获取UUIDpublic static UUID randomUUID()