关于SSM框架的学习日记

SSM(Spring、SpringMVC、Mybatis)

基本概念

Spring:

什么是Spring框架(Spring的体系结构),Spring于2003年兴起,是一个分层的全栈式轻量级开源框架,为了解决企业应用开发的复杂性而创建。它包含的一系列的功能要素,大约被分为20个模块,归纳为7个部分:Core Container、Data Access/Integration、Web、AOP、Instrumentation和Test部分。
spring
Spring框架的精髓:IOC和AOP及两者区别
IOC:控制反转,即将创建对象实例的权力反转,交给Spring容器来完成(由Spring容器的配置文件通过反射方式创建,体现在bean标签上)
DI:依赖注入,即在控制反转过程中,若对象之间有依赖关系,此时Spring容器会将一个对象所依赖的另一个对象的值直接注入(即直接赋值,体现在property标签中的ref)

SpringMVC

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架(基于请求驱动指的是使用请求-相应模式)。利用MVC架构模式的思想,将Web层进行职责解耦。
框架的目的就是帮助我们简化开发,Spring Web MVC也就是要简化我们日常Web开发,主要提供以下内容:
前端控制器是DispatcherServlet;
应用控制器由处理器映射器(Handler Mapping:进行处理器管理)和视图解析器(View Resolver:进行视图管理)组成;
页面控制器/处理器Controller(仅包含ModelAndView handleRequest(request,response)方法)的实现(也可以是任何的POJO类);
支持本地化(Locale)解析、主题(Theme)解析及文件上传等;
提供了非常灵活的数据绑定机制、数据验证和格式化;
提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。

SpringMVC执行流程图:
springmvc执行流程图
SpringMVC流程

  1. 用户发出请求到前端控制器DispatcherServlet
  2. DispatcherServlet收到请求调用HandlerMapping(处理器映射器)
  3. HandlerMapping找到具体的控制器(可查找xml配置或注解配置),生成处理器对象的执行链(如果有),再一起返回给DispatcherServlet
  4. DispatcherServlet调用HandlerAdapter(处理器适配器)
  5. HandlerAdapter经过适配调用具体的处理器(controller)
  6. Controller执行完成返回ModelAndView对象
  7. HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet
  8. DispatcherServlet将ModelAndView传给ViewReslover
  9. ViewReslover解析后返回具体View(视图)
  10. DispatcherServlet根据View进行渲染视图(既将模型数据填充至视图中)
  11. DispatcherServlet响应用户

涉及组件分析:

  1. 前端控制器DispatcherServlet(不需要程序员开发),由框架提供,在web.xml中配置。作用:接收请求,响应结果,相当于转发器,中央处理器。
  2. 处理器映射器HandlerMapping(不需要程序员开发),由框架提供,作用:根据请求的url查找Handler(处理器/Controller),可以通过XML和注解方式来映射。
  3. 处理器适配器HandlerAdapter(不需要程序员开发),由框架提供。作用:按照特定的规则(HandlerAdapter要求的规则去执行Controller)
  4. 控制器Controller(需要工程师去开发),编写controller时需要按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。作用:接收用户请求信息,调用业务方法处理请求,也称之为后端控制器。
  5. 视图解析器ViewResolver(不需要程序员开发),由框架提供。作用:进行视图解析,把逻辑视图名解析成真正的物理视图。
  6. 视图View(需要工程师开发)。作用:把数据展现给用户的页面,View是一个接口,实现类支持不同的View技术(jsp、freemarker、pdf等)
Mybatis

MybatisshiORM框架的一种,主要是完成关系数据与对应对象之间的转换,是一种支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。Mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

SSM整合

搭建的思路
  1. Dao层:整合mybatis和Spring
    需要的jar包:mybatis的jar包,Spring的jar包,Mybatis和Spring的整包,Mysql数据库驱动,数据库连接池
  2. 配置文件:(注意所有的配置文件都应该放在web文件中)
    Mybatis配置文件:sqlMapConfig.xml,Spring配置文件:applicationContext.xml,数据源,数据库连接池,配置SqlSessionFactory(Mybaits和Spring整合包中的),配置mapper文件扫描器
Service服务层

使用jar包:主要是Spring的jar包
配置文件:applicationContext-Service.xml
配置一个包扫描器:扫描所有带@Service注解的类

事物配置:

  1. applicationContext-trans.xml
  2. 配置一个事物管理器
  3. 配置tx
  4. 配置切面
表现层,使用SpringMVC

需要使用SpringMVC和Spring的jar
配置文件:springmvc.xml(三大主件)

  1. 注解驱动(能替代两个)
  2. jsp视图解析器
  3. 扫描器包,@Controller注解

Web.xml

  1. 配置springmvc的前端控制器
  2. spring容器的初始化的listener
    ssm框架
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值