classroom.id=3
classroom.name=zhangsan
PropertiesController
package com.bennyrhys.com.shop;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 类中获取使用自定义配置变量
*/
@RestController
public class PropertiesController {
/**
* 法1 @Value
* 缺点:${classroom.id}获取配置文件内容容易写错
* 解决:利用对象类配置
*/
@Value("${classroom.id}")
private Integer id;
@Value("${classroom.name}")
private String name;
@GetMapping("/info")
public String info() {
return "id: " + id + "name: " + name;
}
}
ClassRoomConfig 注意配置类的前缀匹配和 配置文件对应
@Component
@ConfigurationProperties(prefix = "classroom")
public class ClassRoomConfig {
Integer id;
String name;
// get set
OppController
package com.bennyrhys.com.shop;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class OppController {
@Autowired
ClassRoomConfig classRoomConfig;
@GetMapping("/info2")
public String info2() {
return "id: " + classRoomConfig.id + "name: " + classRoomConfig.name;
}
}