1.1 为属性赋值操作

1.1.1 业务需求说明

为属性动态赋值:

//动态获取ip和端口数据
//@ResponseBody   作用1:将对象转换为JSON    作用2.如果返回值是String类型,则返回字符串本身   作用3.一般客户端发起ajax请求时,采用该注解返回数据,将不会执行视图解析器操作        
@RestController                         // @Controller+@ResponseBody
public class RedisController{
private String host="192.168.156.112";
private Integer port=8091;
}
@RequestMapping("/getMsg")
public String getMsg(){
return host+":"+port;
}

1.1.2 关于YML文件说明

YML文件语法:

1.key:(空格) value
2.key与key之间有层级的缩进关系

server:
port:8091
属性赋值操作,编辑属性时注意前缀,只有springboot启动该数据就会被写入内存中 key-value格式
redis:
host:192.168.156.113
port:6379

1.1.3为属性赋值操作

@RestController                         
public class RedisController{
@Value("${redis.host}")   //spel表达式
private String host;
@Value("${redis.port}")
private Integer port;
}
@RequestMapping("/getMsg")
public String getMsg(){
return host+":"+port;
}

1.2 指定配置文件为属性赋值

由于YML配置文件中的数据一般都是系统级别的数据,所以一般的业务数据都会写到properties的配置文件中。

1.2.1 编辑properties配置文件

#pro文件语法  1.key=value  2.不要添加多余的""号    3.key不要重复
pro.redis.host=111.111.111.111
pro.redid.port=6379

1.2.2 编辑RedisController

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 //动态的导入pro配置文件,交给spring容器进行加载. 
@PropertySource("classpath:/properties/redis.properties") 
public class RedisController { 
@Value("${redis.host}") //spel表达式 
private String host; 
@Value("${redis.port}") private Integer port; 
@Value("${pro.redis.host}") private String proHost; @Value("${pro.redis.port}") private Integer proPort; //指定properties文件进行赋值操作. @RequestMapping("/getMsg") public String getMsg(){ //从yml配置文件中动态获取 return host + ":" + port; } @RequestMapping("/getPro") public String getPro(){ return proHost + ":" + proPort; } }

1.3 环境切换

业务说明:由于开发时都是连接公司自己的数据库/服务器等。把这个环境称之为“开发环境”。

#第一份配置文件,用来指定默认的环境标识
spring: 
   profiles: 
   active: prod 
---
# YML文件语法 
# 1. key:(空格) value
# 2. key与key之间有层级的缩进关系.
#指定环境的名称 
spring: 
  profiles: dev 
  server: port: 8090 
# 属性赋值操作,编辑属性时注意前缀. 只要springboot启动该数据就会被写入内存中 key-value格式 
redis: 
  host: 192.168.126.129 
  port: 6379
  # 1.需要将环境一分为二 
---
spring: 
  profiles: prod 
server: 
  port: 9000
# 属性赋值操作,编辑属性时注意前缀. 只要springboot启动该数据就会被写入内存中 key-value格式 
redis:
host: 111.111.111.111 
port: 7000

1.4 知识点总结

1.SpringBoot开箱即用原理
2.属性赋值的操作 @Value("${}")
3.动态导入资源文件@PropertySource("classpath:/properties/redis.properties")
4.环境的切换:----,spring.profiles:dev,默认的选项


孟小瑶
7 声望2 粉丝