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
0
投稿
猜你喜欢
- jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过
- Spring Framework 提供了一套可以方便地对 Controller 层中接收的参数进行校验的框架,其中就包括了 @Validat
- 原因:feign传值出错无法接收到传值由于是POST所以添加@RequestBody进行尝试解决:错误原因是未添加@RequestBody尝
- java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装。当对文件或其他目标频繁读写或操作效率低,效能差。这
- 比较适合新手。逻辑上仍然有点问题。可以用于学习java文件操作下载地址:http://yun.baidu.com/share/link?sh
- @pathvariable与@requestparam碰到的一些问题一、@pathvariable可以将 URL 中占位符参数绑定到控制器处
- 1、简单又有效的方法是使用PreparedStatement采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX(如:s
- 查看JDK1.8 ArrayList的源代码1、默认初始容量为10 /** * Default i
- 1、首先创建一个测试实体类Person,并携带如上注解,其注解的作用描述在messagepackage com.clickpaas.pojo
- @Conditional的使用@Conditional可以根据条件来判断是否注入某些Bean。package com.morris.spri
- 在Spring Cloud 的Feign组件中并不支持文件的传输,会出现这样的错误提示:feign.codec.EncodeExceptio
- 前言:好久没有写博客,最近一年感觉真是好忙,各种做不完的工作。相信很多上班族都会有这种感觉。最近对NFC进行写卡操作,需要计算一个校验位。一
- 有时候数据库文档需要整理,可是只能手动的复制粘贴,心中一万只草泥马奔腾而过。。。screw简洁好用的数据库表结构文档生成工具。1. 创建项目
- 获取resources文件路径背景在SpringBoot项目中,需要获取resources文件的路径,网上找了好多文章都不行,后面还是结合官
- 简介 相信很多人都接触spring框架很长时间了,每次搭建spring框架的时候都需要配置好多的jar、xml,做很多繁琐重复的配置,稍微不
- 目录前言简单示例基础操作定时取消关联取消判断取消源码探究构造入手小插曲WaitHandle注册操作取消操作Cancel操作CancelAft
- java 闰年判断前言:给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2.
- 零、关于HibernateHibernate是冬眠的意思,它是指动物的冬眠,但是本文讨论的Hibernate却与冬眠毫无关系,而是接下来要讨
- 本文实例为大家分享了java实现顺时针打印矩阵的具体代码,供大家参考,具体内容如下题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每
- 一、什么是ASMASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,