Merhaba arkadaşlar/hocalar ' ım

Spring mvc ile bir uygulama geliştirmeye çalıştırmaktayım, uygulamamda dosyadan okuduğum verileri program çalışmaya başladığında tek sefere mahsus verileri veritabanına yazsın istiyorum.Sadece bir kez çalıştırma olayını nasıl halledebilirim.şuan ServletContext nesnesine ihtiyaç duyduğumdan, controllerin içine direk aldım.sağlıksız bir yöntem yani, ve anasayfaya her gidişimde doğal olarak çalışıyor.

Önerilerinizi sabırsızlıkla bekliyorum. iyi günler dilerim.

soruldu: 21 May, 17:42

seyid21's gravatar image

seyid21
111610
cevap kabul oranı: 50%

Sınıf seviyesinde "static boolean saved = false;" şeklinde bir değişken tanımlayıp, "if(!saved) saveIt();" gibi bir kullanım işinizi görmüyor mu? Olayı tam anlayamadım sanırım.

(21 May, 18:23) acemi acemi's gravatar image

aslında zaten öyle yaptım controllerin içinde, ama kod şekil olarak içime sinmedi.öğrenmek istediğim ve yapmak istediğim, uygulamam açıldığında, spring mvc nin configure dosyalarında ayar yapıp, belirttiğimiz sinifi, fonksiyonu vs. sadece birkez çalıştırma imkanı varsa bundan yararlanmak.

(21 May, 18:53) seyid21 seyid21's gravatar image
1

HandlerInterceptorAdapter sınıfını bir araştırın isterseniz. Bunu genişleten bir sınıf yazıp bahsettiğiniz işlemleri yaptırabilirsiniz.

(21 May, 19:05) acemi acemi's gravatar image

çok teşekkür ederim. Galiba aradığım şey.

(21 May, 19:17) seyid21 seyid21's gravatar image
1

Rica ederim. Umarım işinizi görür.

(21 May, 19:19) acemi acemi's gravatar image

  • Eğer ServletContext'e ihtiyaciniz varsa ServletContextListener interface'ini implemente edebilirsiniz. (Listener tanımını da yapmayı unutmayın.)

public class LoadDB implements ServletContextListener {

      @Override
      public void contextInitialized(ServletContextEvent sce) {
          sce.getServletContext();
      }

      @Override
      public void contextDestroyed(ServletContextEvent sce) {

      }

}
  • Veya InitializingBean sınıfını implemente edebilirsiniz.
@Configuration
public class LoadDB implements InitializingBean {

  @Override
  public void afterPropertiesSet() throws Exception {
      //load db 
  }

}
permanent link
Bu kayıt wiki sayfası olarak tanımlanmıştır.

cevaplandı: 26 May, 06:35

erdalb's gravatar image

erdalb
2124
cevap kabul oranı: 0%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×112
×109
×42
×26
×1

Soruldu: 21 May, 17:42

Görüntüleme: 224 kez

Son güncelleme: 26 May, 06:35

powered by BitNami OSQA