SpringBoot中属性赋值操作的实现

 更新时间:2020年10月21日 14:09:11   作者:小飞  
这篇文章主要介绍了SpringBoot中属性赋值操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

属性固定值

//动态获取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 属性赋值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java与Unix时间戳的相互转换详解

    Java与Unix时间戳的相互转换详解

    这篇文章主要为大家详细介绍了Java与Unix时间戳的相互转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • tk.mybatis扩展通用接口使用详解

    tk.mybatis扩展通用接口使用详解

    这篇文章主要介绍了tk.mybatis扩展通用接口使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 如何实现Java监听器详解

    如何实现Java监听器详解

    今天带大家了解Java监听器是如何实现的及实现原理是什么,文中有非常详细的说明,对正在学习的小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • 如何获取 Spring heapdump中的明文密码

    如何获取 Spring heapdump中的明文密码

    Actuator是Spring Boot提供的应用系统监控的开源框架,在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,本文介绍如何获取 Spring heapdump中的密码明文,需要的朋友可以参考下
    2022-07-07
  • MAC 在类路径或引导类路径中找不到程序包 java.lang问题

    MAC 在类路径或引导类路径中找不到程序包 java.lang问题

    这篇文章主要介绍了MAC 在类路径或引导类路径中找不到程序包 java.lang问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • SpringBoot + MapStruct 属性映射工具的使用详解

    SpringBoot + MapStruct 属性映射工具的使用详解

    MapStruct 是一个代码生成器,简化了不同的 Java Bean 之间映射的处理,所谓的映射指的就是从一个实体变化成一个实体。接下来通过本文给大家介绍SpringBoot + MapStruct 属性映射工具的使用,需要的朋友可以参考下
    2021-09-09
  • Java int类型如何获取高低位

    Java int类型如何获取高低位

    这篇文章主要介绍了Java int类型如何获取高低位,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • MyBatis批量插入的五种方式

    MyBatis批量插入的五种方式

    这篇文章主要介绍了MyBatis批量插入的五种方式,每种方式结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • Java中的Semaphore信号量简单使用代码实例

    Java中的Semaphore信号量简单使用代码实例

    这篇文章主要介绍了Java中的Semaphore信号量简单使用代码实例,Semaphore是用来保护一个或者多个共享资源的访问,Semaphore内部维护了一个计数器,其值为可以访问的共享资源的个数,一个线程要访问共享资源,需要的朋友可以参考下
    2023-12-12
  • springboot访问后端静态资源404问题

    springboot访问后端静态资源404问题

    文章主要介绍了在Spring Boot中访问后台静态资源时可能出现的404错误及解决方法,并解释了MyBatis中驼峰命名转下划线的默认行为以及如何使用@Id和@GeneratedValue注解来标识主键属性
    2024-12-12

最新评论