@ConfigurationProperties
2018-05-25 本文已影响15人
紫霞等了至尊宝五百年
有时候有这样的情景,想把配置文件的信息,读取并自动封装成实体类,这样在代码里使用就方便多了,这时候,我们就可以使用@ConfigurationProperties
,它可以把同类的配置信息自动封装成实体类
首先配置文件
![](https://img.haomeiwen.com/i4685968/3e5eeb5a4eb53d2a.png)
这时候我们可以定义一个实体类在装载配置文件信息
![](https://img.haomeiwen.com/i4685968/d23e81a403ccae70.png)
还可以把@ConfigurationProperties
直接定义在@bean
注解上,这时bean实体类就不用@Component和@ConfigurationProperties了
@RestController
@RequestMapping("/task")
public class TaskController {
@Autowired ConnectionSettings conn;
@RequestMapping(value = {"/",""})
public String hellTask(){
String userName = conn.getUsername();
return "hello task !!";
}
}
如果发现@ConfigurationPropertie
不生效,有可能是项目的目录结构问题,你可以通过@EnableConfigurationProperties(ConnectionSettings.class)
来明确指定需要用哪个实体类来装载配置信息。