Giriş
Şu satırı dahil ederiz.
Yeni SpringBoot için açıklama şöyle. Yani artık @EnableConfigurationProperties anotasyonunu kullanmaya gerek yok.
Eski kodlar için açıklaması şöyle.
Örnek
Alanlarına değer atanacak sınıfı belirtmek için şöyle yaparız.
Ayarları okuyacak sınıfı belirtmek için şöyle yaparız.
SpringTest ile şöyle yaparız.
Şu satırı dahil ederiz.
import org.springframework.boot.context.properties.EnableConfigurationProperties;
Yeni KodlarYeni SpringBoot için açıklama şöyle. Yani artık @EnableConfigurationProperties anotasyonunu kullanmaya gerek yok.
As, of Spring Boot 2.2, Spring finds and registers @ConfigurationProperties classes via classpath scanning. Therefore, there is no need to annotate such classes with @Component (and other meta-annotations like @Configuration) or even use the @EnableConfigurationPropertiesEski Kodlar
Eski kodlar için açıklaması şöyle.
The @EnableConfigurationProperties annotation is automatically applied to your project so that any beans annotated with @ConfigurationProperties will be configured from the Environment properties. The @ConfigurationProperties annotation won’t work unless you’ve enabled it by adding @EnableConfigurationProperties in one of your Spring configuration classes.Yani alanlarına değer atanacak sınıf @ConfigurationProperties anotasyonuna sahiptir. Bu sınıfı bean yapmak için @EnableConfigurationProperties anotasyonu ile sınıf ismi belirtilir.
Örnek
Alanlarına değer atanacak sınıfı belirtmek için şöyle yaparız.
@SpringBootApplication
@EnableConfigurationProperties({FooSettings.class})
public class MyApplication {
...
}
ÖrnekAyarları okuyacak sınıfı belirtmek için şöyle yaparız.
@EnableConfigurationProperties(ServiceProperties.class)
Okuyan sınıfı kodlamak için şöyle yaparız.@ConfigurationProperties("job")
@PropertySources({
@PropertySource(value = "${ext.prop.dir}", ignoreResourceNotFound = true),
@PropertySource(value = "classpath:application.properties",
ignoreResourceNotFound = true)
})
public class ServiceProperties {
private String schema;
...
}
ÖrnekSpringTest ile şöyle yaparız.
@RunWith(SpringRunner.class)
@EnableConfigurationProperties
@TestPropertySource("classpath:../classes/conf/animal.yml")
public class AnimalTest {
...
}
Bean için şöyle yaparız.@Configuration
@ConfigurationProperties(prefix = "animal")
public class Animal {
...
}