一、创建项目
二、创建一个RedisController类
package com.jt.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RedisController {
// private String host="127.0.0.1";
// private int port =26251;
//需求,能否简化修改环节
//spring将数据扫描到容器中时才能取值
@Value("${redis.host}") //spel表达式
private String host;
@Value("${redis.port}")
private int port;
@RequestMapping("/getNode")
public String getNode(){
return host+"|"+port;
}
}
由于 private String host=“127.0.0.1”;是写死在程序,不利于维护,所以基于业务分析,可把以后需要提取拿到的数据放到配置文件,在配置文件中为属性赋值,复制后,然后又怎么从配置文件中取得这些值?我们通过@Value(${ })获取拿到
以上是我们通过xxx.yml配置文件获取拿到数据。
下面我们还可以通过xxx.properties配置文件关联拿到数据,首先可以复制一份上面类,做一些访问路径等的修改。
package com.jt.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
//当程序启动时加载指定资源
@PropertySource(
value = "classpath:/properties/redis.properties",encoding = "utf-8")
public class RedisController2 {
@Value("${redis.host2}")
private String host;
@Value("${redis.port2}")
private int port;
@RequestMapping("/getNode2")
public String getNode(){
return host+"|"+port;
}
}
上面的@PropertySource(
value = “classpath:/properties/redis.properties”,encoding = “utf-8”),由于idea设置里面的utf-8只是负责页面的显示编码,而取出来获取的数据会出现中文乱码,所以我们可以通过这对页面显示的编码方式,解决中文乱码问题。
对于这之间需要如何关联?
@Value("
r
e
d
i
s
.
h
o
s
t
2
"
)
这
里
通
过
@
V
a
l
u
e
(
"
{redis.host2}") 这里通过@Value("
redis.host2")这里通过@Value("{redis.host2}") 获取到值。
private String host;
@RequestMapping("/getNode2") 为请求映射的路径
而对于xxx.properties中设置属性值需要:
## 通过xxx.yml配置时,为了利于维护,我们可以配置环境切换,通过—分割环境
#设置默认配置环境
spring:
profiles:
active: dev
---
#语法 1.key:(空格)value
#2.yml文件有层级关系
#3.默认utf-8格式编码
#标识配置信息
#破解版新版本写法
spring:
config:
activate:
on-profile: dev
server:
port: 8090
#为属性赋值通过yml
redis:
host: 127.0.0.20
port: 9995
#环境切换
--- #实现配置文件拆分
spring:
config:
activate:
on-profile: prod
#prod 为环境取一个名字,便于上面设置默认环境的调用,也就是使用哪一个环境
server:
port: 8088
redis:
host: 192.168.1.12
port: 4525
对于新版本,设置默认配置环境哪儿写法,active是用于选择使用哪一个环境,冒号后面的是 on-profile: dev的名字,破解版传统写法有一个下划线,这不多举例。对于多个环境,我们得使用一种标识用于去区分不同的环境,于是在每个属性赋值前面都有上面名字那段标识,然后到时候在默认配置环境哪儿选择有关标识段。启动,打开游览器,输入地址加路径,访问。