注解@ConfigurationProperties使用方法
1、配置文件内容
spring.datasource.url=jdbc:mysql://localhost:3306/satellite_resource?characterEncoding=utf8&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
2、创建类
package com.example.demo.user;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@ConfigurationProperties(prefix = "spring.datasource")
@Component
@Data
public class DatasourcePro {
private String url;
private String username;
private String password;
// 配置文件中是driver-class-name, 转驼峰命名便可以绑定成
private String driverClassName;
}
3、用法
package com.example.demo.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping(value = "/config")
public class ConfigurationPropertiesController {
@Autowired
private DatasourcePro datasourcePro;
@GetMapping("/test")
public Map<String, Object> test() {
Map<String, Object> map = new HashMap<>();
map.put("url", datasourcePro.getUrl());
map.put("userName", datasourcePro.getUsername());
map.put("password", datasourcePro.getPassword());
map.put("className", datasourcePro.getDriverClassName());
return map;
}
}
4、结果
访问:http://localhost:9110/config/test
{
"password": "123456",
"className": "com.mysql.cj.jdbc.Driver",
"userName": "root",
"url": "jdbc:mysql://localhost:3306/satellite_resource?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
}

浙公网安备 33010602011771号