import org.springframework.boot.autoconfigure.*; import org.springframework.boot.autoconfigure.jdbc.*; import org.springframework.context.annotation.*; @Configuration @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class MyConfiguration { }
@Configuration
, @EnableAutoConfiguration
and @ComponentScan
。 这里的意思是说,通过Java类来确保类型安全,但值还是要在YAML中提供!!
做为配置文件的对象类
@ConfigurationProperties(prefix="connection") public class ConnectionProperties { private String username; private InetAddress remoteAddress; // ... getters and setters }
@Configuration @EnableConfigurationProperties(ConnectionProperties.class) public class MyConfiguration { }
由于 @EnableConfigurationProperties 注解 会被自动应用到项目中,所以,只要确保 @ConfigurationProperties 类 是一个bean(即@Component),就会被自动添加到 Environment 。如下:
@Component //确保是一个bean即可! @ConfigurationProperties(prefix="connection") public class ConnectionProperties { // ... getters and setters of username and remoteAddress, and so on }
原文:http://www.cnblogs.com/zhangjianbin/p/6349721.html