关于Spring依赖注入的疑问

1,比方说下面这个图,表现层Action依赖于服务层service,service又依赖于持久层DAO,那么DAO相当于是个老大,那么注入就是又大到小的顺序排,把DAO对象注入了service,再把service注入进了Action,我这么理解是正确的吧亲?因为我把这段话反过来说也一样成立-----Action注入service,service注入DAO,由小到大的顺序,这是错误理解对吧?)
图片说明

2,还有个延伸问题,也许用DAO,Service,Action举例,这个层级关系表现的比较明显,如果是一群自定义类呢,互相的依赖关系没这么明显的,那要定谁注入谁,就完全靠主观判断了是吧

3,比方说A注入B,B注入C,那么我这个配置文件,必须按A--B--C的顺序写吗...

这只是一个分层的思想,,你要不想的话,,service层和dao层都可以不要,直接action中操作数据库,,这样的缺点是后期维护很麻烦

使用注解形式 多方便,Action 注入Service;Service 注入Dao;Dao 注入 sessionFactory
图片说明
图片说明
图片说明

Service为什么要注入DAO?
Service进行逻辑处理,如果需要操作数据库,然而我们把操作数据库的动作已经封装在了DAO类中,
并暴露了这些动作(方法),所以我们在Service可以很简单的调用一个方法就搞定了所有调用数据库的过程,
(ClassForName(),Statement等等)。
Action注入Service同理。
也就说,谁调用谁,那么谁就注入谁。

配置文件的先后顺序是没关系的。