被@ConfigurationProperties解析的属性需要满足以下要求:
@ConfigurationProperties(prefix = "myconfig")
public class MyConfigProperties {
private String property1;
private int property2;
// getter and setter methods
}
myconfig.property1=value1
myconfig.property2=42
@SpringBootApplication
@EnableConfigurationProperties(MyConfigProperties.class)
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
@Component
public class MyComponent {
private final MyConfigProperties configProperties;
@Autowired
public MyComponent(MyConfigProperties configProperties) {
this.configProperties = configProperties;
}
public void printProperties() {
System.out.println("Property 1: " + configProperties.getProperty1());
System.out.println("Property 2: " + configProperties.getProperty2());
}
}
通过以上步骤,属性值将会被@ConfigurationProperties解析并注入到对应的Java类中,可以在应用的其他组件中使用这些属性值。