@ConfigurationProperties
将配置文件的值赋值给配置类的属性
@Bean
@ConfigurationProperties(prefix = "datasource")
public DruidDataSource dataSource() {
DruidDataSource ds = new DruidDataSource();
return ds;
}
application.yml配置文件中
datasource:
driverClassName: com.mysql.jdbc.driver456
@EnableConfigurationProperties({类名.class})
@EnableConfigurationProperties注解可以将使用@ConfigurationProperties注解对应的类加入到Spring容器中
@SpringBootApplication
@EnableConfigurationProperties({ServerConfig.class})
public class Application{
}
//@Component
@Data
@ConfigurationProperties(prefix = "server")
public class ServerConfig {
private String ipAddress;
private int port;
private long timeout;
}
优点:可以清楚的知道,哪些东西是从配置中读取属性,更清晰统一管理
注意:@EnableConfigurationProperties不能和@Component同时使用