2014-04-05 34 views
7

Bir kullanıcı bir Spring MVC Web Uygulaması bağlamında bir URL istediğinde arka planda ne olduğunu anlamaya başladım. Ama veri bağlama ne zaman ve nasıl gerçekleştiğini, yani bir giriş formunun bir model nesnesinin alanları ile ilgili nesnenin ilgili işleyici yöntemine daha sonraki bir enjeksiyonu arasında nasıl eşleştiğini anlayamıyorum.Yay verileri bağlanma arka planda nasıl çalışır?

Hangi sınıfların ve yöntemlerin ima edildiğini herkes bilir ve bu belge belgelerinde nerede görünür?

cevap

13

örneğin, bu işleyici için SomeBean temsil eden verileri yayınladıklarını, varsa: Aşağıdaki Bahar 4.

  • olur public void (SomeBean someBean) A InvocableHandlerMethod yöntemin parametreleri üzerinde yineleme ve bir HandlerMethodArgumentResolverComposite örneği soracaktır Her bir parametrenin değerini çözmek için Belirtilen parametreyi destekliyorsa, HandlerMethodArgumentResolverComposite, HandlerMethodArgumentResolver s sorusunu soracaktır.

  • Biri parametreyi destekliyorsa, bu değer değeri çözmek için kullanılır. Belirtilen parametreyi (SomeBean) destekleyecek ve bu değerin çözümlenmesini deneyecek olan bir A A
  • İçerisinde ModelAttributeMethodProcessor10, ModelAttributeMethodProcessor parametresinin hedef nesnesini başlatacaktır. Ardından, hedef nesneyi istemlendirmekle sorumlu olan bir WebDataBinder oluşturmak için WebDataBinderFactory numaralı telefonu arayacaktır. Bağlandıktan sonra hedef iade edilecek ve işleyici yöntemi için bir argüman olarak sağlanacaktır.

P.s Belgelerin yerine kaynak kodunu okumalısınız.

+1

Çok teşekkür ederim, şimdi bu sınıflarda kazmaya başlayabilirim :) Ve +1 için "Dökümantasyon yerine kaynak kodunu okumanız gerekir" –

İlgili konular