发表于: 2016-10-29 11:34:59
1 2361
最近总是照本宣科的布置框架,但是脑子乱糟糟的,很多配置不知道配来干嘛,甚至到最后spring跟springMVC都弄混了,停下来好好整理整理思路,自己作个流程图,想想SSM三大框架到底是怎样的存在以及怎样整合的
下面这个图是超简化的servlet的流程图,只为在脑子中勾勒出一个轮廓
如下图,springMVC在servlet的基础上,分化了各个组件的职能
最近查看资料,总是看到很多虚无缥缈的概念"数据持久层""服务层/业务层""控制层"
是不是可以这样理解
dao处理数据,所以归到数据持久层。其中myBatis这个框架将sql语句的配置摘出来,放在映射文件中(好处大概是可以不在干预java代码的前提下更改sql?)
service给dao包装了一层衣服,中间通过接口连接,属于服务层/业务层(好处是避免接口直接暴露?)
controller属于控制层,通过接口调用大量底层代码,实现功能(理解如有错误请帮忙指出,谢谢啦)
接下来说配置文件
通过web.xml这个核心组件,接到请求时,调用dispatcherServlet,启动对应的springmvc.xml(这也是一个容器吧)
springmvc.xml通过映射找到controller,调用service处理数据,返回modelAndView给controller,再传回给dispatcherServlet
如果modelAndView中带的是view对象,直接发回给浏览器解析加载。如果带的是逻辑名(视图名?),则发给viewResolver解析处理
spring ioc的配置文件ApplicationContext.xml主要是进行注解、注入,个人感觉跟springMVC撇的还是很清的,其中myBatis的映射文件扫描、连接池的创建都可以放在这个文件中进行,就可以少配置一个,算是myBatis跟spring的整合
评论