1.持久层--->mybatis:通过Spring 来管理持久层的 Mapper (相当于 dao 接口),来完成对数据库的操作。
首先我们回顾一下,在单独使用mybatis的时候,在其配置文件中有哪些必须的配置!
①mybatis.xml全局配置文件
由于该核心配置文件是用来操作底层数据库的,故而必须会有一些登陆数据库、事务控制等操作的相关配置。
a.配置连接数据库的数据源DataSource--->(包括连接数据的url,driver,username,password等等)
b.配置操作数据库的事务控制TransactionManager--->(例如:
②mapper.xml映射配置文件
该配置文件主要是配置SQL映射语句。其中包括简单关系与复杂关系。
比较常用的关系配置如下:
a.简单配置
b.一对一关系:
b.一对多关系:
2.业务层--->spring:通过Spring 来管理业务层的 service (通过调用 mapper 接口),通过spring的IOC和DI来实现完全的面向接口编程,降低类之间的耦合,并且使用spring AOP来控制事务处理。
使用比较多的是包的自动扫描,与自动注入。配合@Autowired @Resource @component @Repository @Service @Controller注解的使用。
3.表现层--->springMVC:通过Spring 来管理表现层的 Handler (通过调用 Service 接口),来实现流程跳转的控制。
由于springMVC是springframework 框架的组成部分,故而,只要配置其本身所需要的配置即可。那么springMVC有哪些本身需要的配置呢?
由springMVC 运行的流程控制图中我们可以看到其中几个比较重要的“器”,它是我们配置的关键。
①前端控制处理器--->DispatcherServlet
它是springMVC运行的中央控制器,在web.xml中配置。它的作用是指定springMVC配置文件的位置,并在serlet-mapping中指定过滤条件(一种是“/”,一种类似“.action”)
例如下:
.xml
②处理器映射器--->HandlerMapping(处理器映射器的功用是根据请求的url查找Hanler)
之前使用的标签为:
③处理器适配器--->HandlerAdapter(处理器适配器的作用是按照特定的规则去执行Handler)
同处理器映射器一样,处理器适配器总是与之一起配对出现。而如今它已经被“MVC注解驱动”标签所替代,但是我们都知道,有关于”参数绑定“与“Validation校验”这些功能的实现都与HandlerAdapter相关联的。
④处理器--->Handler
@Controller注解 与 @RequestMapping() 注解
由于注解开发带来越来越多的便利,大家都越来越习惯与这种简介便利的开发方式。
使用注解开发,自然需要让spring容器能扫描到该注解,这样才能识别出相应的“Handler”。使用spring的包自动扫描标签:
⑤视图解析器--->ViewResolver
由于springmvc支持多种视图(例如jsp、pdf、excel、freemark...)故而需要视图解析器来根据逻辑视图名来进行解析。
例如下配置可以实现对视图名前缀后缀的自动解析:
——————————————————————————————————————————————————————
分析完上面各自独立的部分,那么我们来看看哪些部分可以实现整合。
1.持久层--->mybatis:
2.业务层--->spring:
3.表现层--->springMVC: