SSH 的 action , Service , impl 關係 ?

用了這麼長時間ssh了,可是對spring IOC還是不太理解,還停在只知道這麼用,但不知道爲什麼這麼用,就是不明白它是怎麼個調用過程,先說下以前的框架用的是面板模式,就是一個service,和一個service的實現類,service是個接口,分層分的比較細,所有的方法都在service這個接口裏,我不明白爲什麼在antion裏直接用service.方法就可以調用ServiceImpl實現的方法,正常情況應該是先創建個ServiceImpl的對象,在用這個對象調用自己的方法,請問這要怎麼理解呢?

這是spring的注入功能  已經幫助你實現了 在容器的啓動的時候已經版主你進行實例話了 ,啓動過程中 ,它會循環你的bean的配置文件 ,利用反射機制,實例化這個類 ,如action  ,service,dao,然後就是循環你配置文件裏的property屬性,利用反射機制找到property在類中的set方法, 由於上一步該property類已經被實例化 ,所以直接進行set方法進行賦值。
大體應該是這個流程,希望你能明白至於爲什麼會調用接扣變量就能調用實現類的方法 ,這是java多態機制,接口變量指向實現類對象的引用,jvm在運行時 動態執行對象的方法(這都是java基礎  多態)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章