SpringBoot:动态为属性赋值

业务说明:

当利用SpringBoot程序整合第三方框架时,如果都将属性信息写死在代码中,则程序的扩展性不好
问题: 能否动态的获取属性信息呢?
当然是可以的
未动态赋值:
在这里插入图片描述
此时数据都是固定的,后期如果需要改动很不方便
方法一:利用@Value属性赋值
1).编辑YML配置文件

server:
  port: 8080

# 测试案例1:属性赋值  注意事项 编辑key时最好添加业务名称
redis:
  host: 10.0.0.4
  port: 6379

2).属性赋值
在这里插入图片描述
方法二:利用properties为属性赋值
1).编辑properties配置文件

#业务类型的配置文件  注意事项: key不能重复
redisPro.host=192.168.1.1的IP地址
redisPro.port=7000

2).编辑Controller
在这里插入图片描述
@PropertySource(value = “classpath:/properties/redis.properties”,encoding = “UTF-8”)
//@PropertySource–动态加载文件
//value = “classpath:/properties/redis.properties”–properties文件所在的源路径
//encoding = “UTF-8”–设置字符集防止中文在前端页面上展示为乱码(若未这样设置,properties文件中的中文不会乱码,但是在前端请求后展示在页面上的中文会乱码)
以上,仅供学习参考

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中,我们经常使用注解来配置应用程序的各种属性。如果一个注解有一个boolean类型的属性,我们可以使用以下两种方法动态地指定该属性的值: 1. 使用SpEL表达式:在注解中使用SpEL表达式,这样属性的值将在应用程序启动时动态计算。例如: ```java @Autowired @Value("#{systemProperties['myBooleanProperty'] ?: true}") private boolean myBooleanProperty; ``` 上述代码中,@Value注解使用了SpEL表达式来设置myBooleanProperty属性的值。表达式中使用了systemProperties对象,该对象代表了系统属性。如果系统属性myBooleanProperty存在,则使用该属性值。否则,使用默认值true。 2. 使用@ConfigurationProperties注解:如果一个注解有多个boolean类型的属性,或者我们想将多个属性组合在一起,可以使用@ConfigurationProperties注解。该注解将注解中的所有属性映射到一个JavaBean中。然后,我们可以在应用程序启动时从属性文件或环境变量中加载该JavaBean,并使用其中的属性。例如: ```java @Component @ConfigurationProperties(prefix = "myProperties") public class MyProperties { private boolean myBooleanProperty; public boolean isMyBooleanProperty() { return myBooleanProperty; } public void setMyBooleanProperty(boolean myBooleanProperty) { this.myBooleanProperty = myBooleanProperty; } } ``` 上述代码中,@ConfigurationProperties注解将myProperties前缀的属性映射到MyProperties类中。我们可以将该类注入到其他类中,并使用其中的属性。例如: ```java @Autowired private MyProperties myProperties; public void doSomething() { boolean myBooleanProperty = myProperties.isMyBooleanProperty(); // ... } ``` 在上述代码中,我们使用@Autowired注解将MyProperties类注入到当前类中,并使用其中的属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值