Spring Boot Bean Güncelleme

Web geliştirme ile ilgili konuları burada bulabilirsiniz
Cevapla
Kullanıcı avatarı
melihcelenk
Site Admin
Mesajlar: 223
Kayıt: 05 Eki 2021, 03:23

Spring Boot Bean Güncelleme

Mesaj gönderen melihcelenk »

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);
    }
}
Cevapla