1.通过自动装配的Value(${"server.port"})的方式注入,相关的代码如下:
@ResponseBody
@Controller
public class GetProperties {
@Value("${server.port}")
private String port;
@GetMapping("/env1")
public String getPort(){
return port;
}
}
2.通过自动装配Environment类,再通过调用相应的API获取相关属性:
@ResponseBody
@Controller
public class GetProperties {
@Autowired
private Environment env;
@GetMapping("env")
public String Getenv(){
System.out.println(env.toString());
String port=env.getProperty("server.port");
return port;
}
}
3.通过@ConfigurationProperties配置类,再通过自动注入,去调用配置类的相关get方法获取参数
(1)配置类
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "person")
@Component
@Data
@ToString
public class EnviromentConfig {
private String name;
}
(2)自动装配调用相关API
@RestController
public class personHandler {
@Autowired
private EnviromentConfig config;
@GetMapping("/env2")
public String getPersonName(){
return config.getName();
}
}
(3)application.yml
server:
port: 8089
person:
name: "xuJianFeng"