SSM框架整合总结

关于ssm整合的相关总结:

1.持久层—>mybatis:通过Spring 来管理持久层的 Mapper (相当于 dao 接口),来完成对数据库的操作。
首先我们回顾一下,在单独使用mybatis的时候,在其配置文件中有哪些必须的配置!
①mybatis.xml全局配置文件
由于该核心配置文件是用来操作底层数据库的,故而必须会有一些登陆数据库、事务控制等操作的相关配置。

a.配置连接数据库的数据源DataSource—>(包括连接数据的url,driver,username,password等等)
b.配置操作数据库的事务控制TransactionManager—>(例如:)
c.连接mapper.xml配置文件—>(例如:)
d.配置sqlSessionFactory---->(为何我要将sqlSessionFactory写在这里呢?因为我们在单独使用mybatis的时候,是单独创建该对象的。
代码如下所示:
String resource = “mapper.xml”;
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(reader);
由 sqlSessionFactory 创建 sqlSession ,再有 sqlSession 操作数据库发出SQL进行 CURD,但是我们知道,在进行 spring 与 mybatis 整合的时候,这种使用“new”来创建对象的方法将不再符合 spring 框架的思想了!)

②mapper.xml映射配置文件
该配置文件主要是配置SQL映射语句。其中包括简单关系与复杂关系。
比较常用的关系配置如下:
a.简单配置

//主键配置
//其它非主键配置

b.一对一关系:

//注意它使用的是“javaType”

b.一对多关系:

//注意它使用的是“ofType”

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”)
例如下:

dispatcher
org.springframework.web.servlet.DispatcherServlet

加载/WEB-INF/spring-mvc/目录下的所有XML作为Spring MVC的配置文件
contextConfigLocation
/WEB-INF/spring-mvc/.xml

1

dispatcher
*.html

②处理器映射器—>HandlerMapping(处理器映射器的功用是根据请求的url查找Hanler)
之前使用的标签为:
之后,HandlerMapping 与 HandlerAdapter合并为一个功能更为强大的标签:
mvc注解驱动 。虽然他们两个已经合并,可是我们需要知道,有些功能其实在本质上还是由HandlerMapping来实现的,譬如说在springMVC中实现拦截器。

③处理器适配器—>HandlerAdapter(处理器适配器的作用是按照特定的规则去执行Handler)
同处理器映射器一样,处理器适配器总是与之一起配对出现。而如今它已经被“MVC注解驱动”标签所替代,但是我们都知道,有关于”参数绑定“与“Validation校验”这些功能的实现都与HandlerAdapter相关联的。

④处理器—>Handler
@Controller注解 与 @RequestMapping() 注解
由于注解开发带来越来越多的便利,大家都越来越习惯与这种简介便利的开发方式。
使用注解开发,自然需要让spring容器能扫描到该注解,这样才能识别出相应的“Handler”。使用spring的包自动扫描标签:

有时候也可以在其中添加过滤条件,使其效率更高:

⑤视图解析器—>ViewResolver
由于springmvc支持多种视图(例如jsp、pdf、excel、freemark…)故而需要视图解析器来根据逻辑视图名来进行解析。
例如下配置可以实现对视图名前缀后缀的自动解析:

——————————————————————————————————————————————————————
分析完上面各自独立的部分,那么我们来看看哪些部分可以实现整合。
1.持久层—>mybatis:

2.业务层—>spring:

3.表现层—>springMVC:

end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值