SSH 的 action , Service , impl 关系 ?

来源:互联网 发布:耶路撒冷 知乎 编辑:程序博客网 时间:2024/06/02 19:28

用了这么长时间ssh了,可是对spring IOC还是不太理解,还停在只知道这么用,但不知道为什么这么用,就是不明白它是怎么个调用过程,先说下以前的框架用的是面板模式,就是一个service,和一个service的实现类,service是个接口,分层分的比较细,所有的方法都在service这个接口里,我不明白为什么在antion里直接用service.方法就可以调用ServiceImpl实现的方法,正常情况应该是先创建个ServiceImpl的对象,在用这个对象调用自己的方法,请问这要怎么理解呢?

这是spring的注入功能  已经帮助你实现了 在容器的启动的时候已经版主你进行实例话了 ,启动过程中 ,它会循环你的bean的配置文件 ,利用反射机制,实例化这个类 ,如action  ,service,dao,然后就是循环你配置文件里的property属性,利用反射机制找到property在类中的set方法, 由于上一步该property类已经被实例化 ,所以直接进行set方法进行赋值。
大体应该是这个流程,希望你能明白至于为什么会调用接扣变量就能调用实现类的方法 ,这是java多态机制,接口变量指向实现类对象的引用,jvm在运行时 动态执行对象的方法(这都是java基础  多态)

0 0