网上查了资料说:struts+spring+hibernate,将MVC全部分离(M(业务模型),V(View), C(Controller))
那么三者又是如何做到成功将三者分离的,且看分解
Action和view的分离:
struts.xml中View和action两种联系方式
- 绝对路径下的页面index中调用的index.action写在indexAction类中
- 绝对路径下的页面regist中调用的user_registPage.action写在userAction类中
绝对路径下的页面regist.jsp调用的user_input.action写在userAction类中
绝对路径下的页面login.jsp调用的user_login.action写在userAction类中
applicationContext.xml中view和action中的关联方式
<!-- 用户模块的Action -->
<bean id="userAction"class="cn.itcast.shop.user.action.UserAction"scope="prototype">
<!-- 注入Service -->
<property name="userService"ref="userService"></property>
</bean>
第一行代码的userAction的全类名是"cn.itcast.shop.user.action.UserAction"
View和action通过struts.xml中的关键字class和applicationContext.xml中的关键字id,将两者联系起来,struts.xml通过jsp的绝对路径定位到view,applicationContext.xml通过全类名(命名空间+类名)定位到具体的类。
通过修改路径名可以更换view,通过修改全类名可以更换action,view和aciton做到了完全分离。
B层D层的分离
不知大家充分理解了IOC容器了没?或者依赖注入了没?
struts+spring+hibernate将IOC利用到了极致,将B层和D层做到了充分的分离。这也是三者整合的优点之一。
上述代码通过依赖注入的方式,将UserAction对userService的依赖关系充分注入到两者之间。
也将UserService对userDao的依赖关系注入到两者之间。
怎么样struts+spring+hibernate,做的还可以吧?