1. 注解在類(lèi)上時(shí)
當(dāng)@ConfigurationProperties注解在類(lèi)上時(shí),并且此類(lèi)同時(shí)注解@Component,如下所示
@ConfigurationProperties(prefix = "account")
@Component
public class AccountProperties {
private String username;
private String password;
// 省略了get set方法
}
我可以直接通過(guò)@Autowired 注解在Bean直接獲取
@RestController
public class DemoController {
@Autowired
private AccountProperties accountProperties;
}
如果沒(méi)有注解@Component時(shí),例如
@ConfigurationProperties(prefix = "account")
public class AccountProperties {
private String username;
private String password;
// 省略了get set方法
}
我們可以通過(guò)注解@EnableConfigurationProperties獲取,例如
@RestController
@EnableConfigurationProperties({AccountProperties.class})
public class DemoController {
@Autowired
private AccountProperties accountProperties;
}
2. 注解在方法上時(shí)
當(dāng)注解在方法上,需配合@Bean使用
@Configuration
public class DemoConfig {
@Bean
@ConfigurationProperties(prefix = "account")
public AccountProperties accountProperties() {
return new AccountProperties();
}
}