Spring Boot Bean Güncelleme
- melihcelenk
- Site Admin
- Mesajlar: 223
- Kayıt: 05 Eki 2021, 03:23
Spring Boot Bean Güncelleme
Bir bean tanımladığımızda bu proje ayağa kalkarken bir kez çekiliyor ve hep aynı değerleri koruyor. Zaman zaman bu değerlerin güncellenmesini isteyebiliriz. Örneğin options'ı set eden bir Bean'imiz olsun ve options değerlerini veri tabanında update eden servisimiz çağrıldığında Bean'imizdeki değerlerin de güncellenmesini sağlayalım. Bu bean değişkenini doğrudan değiştiremiyoruz, bunun yerine alanlarını güncelleyebiliriz. Ancak bütün alanları tek tek set işlemi yaparak güncellemek kod değişikliğinde unutmamıza neden olur. Bunun için bütün alanları set edebileceğimiz bir metot var: BeanUtils.copyProperties
Kod: Tümünü seç
@RequiredArgsConstructor
@Configuration
public class OptionsConfiguration {
...
@Bean
public OptionsDto options(OptionsService optionsService) {
return optionsService.getOptions();
}
}
Kod: Tümünü seç
@Service
@RequiredArgsConstructor
public class OptionsCacheService {
...
public void reloadOptions() {
OptionsDto newData = optionsService.getOptions();
// copy all properties from newData to optionsDto
org.springframework.beans.BeanUtils.copyProperties(newData, optionsDto);
}
}