2016-03-24 21 views
2

@service sınıfından @controller sınıfı çağırmak iyi bir uygulamadır mı?İlkbaharda hizmet sınıfından başka bir denetleyici çağırma

Şu anda doğrudan başka bir denetleyiciden (Spring Boot Project) denetleyici olarak arıyorum, arada @service katmanını tanıtmayı planlıyorum.

bana doğrudan hizmet katmanından bir denetleyici demem

+0

* Neden başka bir denetleyiciyi arıyorsun? Bu genellikle basit bir OO modelleme problemini gösterir. – chrylis

cevap

2

bildirin. Dairesel bağımlılıklar alabilirsiniz.

Bağımlılık enjeksiyonu ile observer pattern kullanırım. Denetleyici bir arabirimi uyguladığında, hizmetinize otomatik olarak bağlayabilirsiniz. Denetleyiciniz da hizmetine bir referans varsa

public interface Observer { 

    void eventHappened(); 

} 

@Controller 
public class YourController implements Observer { 

} 

@Service 
public class YourService { 

    @Autowired 
    private Observer o; 

    // call o.eventHappened() somewhere in your code 
} 

, size gözlemci kayıt için kullanabileceğiniz InitializingBean kullanmak gerekebilir.

+0

Tekrar teşekkürler ama burada bahsetmeyi özledim 2 farklı kontrolörden bahsediyorum. Denetleyici A çağrıları Servis sınıfı.Servis sınıfı aramaları Denetleyici B – JavaC

+0

Aynı modeli uygulayabilirsiniz. – Schrieveslaach

+0

Teşekkürler! Aynı uygulamayı deneyecek – JavaC

İlgili konular