SSM框架(SpringMVC+spring+mybatis)原理

本文深入解析了SpringMVC的工作流程,包括请求解析、Handler映射及视图转发。同时,阐述了Spring框架的依赖注入机制与控制反转概念。最后,对比了Mybatis与Hibernate在ORM实现上的不同。
  1. SpringMVC框架

    1. 在用户发起请求之后,DispatchServlet将截获请求并解析URL,即,去掉协议名、域名、端口号和项目名,获取其他字符串,如对于请求地址http:///127.0.0.1:8080/project/student/getStudent来说,即为获取student/getStudent。
    2. 将解析出来的URL作为key值,到handleMapping中查找所有的Map找到对应key值的value值,即Handler-value值,并返回给DispatchServlet。
    3. 将获得的handler对象交给handlerAdapter,进行调用对应的方法,将调用该方法所得到的返回值交还给DispatchServlet。
    4. DispatchServlet根据得到的返回值通过视图解析器进行解析,即通过返回值,找到相应的页面进行转发。

2. spring

  1. 当某个Java实例(调用者)需要调用另一个Java实例(被调用者)时,传统情况下,通过调用者来创建被调用者的实例,通常通过new来创建,而在依赖注入的模式下创建被调用者的工作不再由调用者完成,因此这个过程被称为“控制反转”;创建被调用者的工作通常由spring来完成,然后注入调用者,所以也成为“依赖注入”。
  2. 举例:对于主板类MainBoard想要运行的方法method(),必须要运行CPU的方法cpu.method(),因此,主板类对于CPU类是一个依赖。而注入则是形如将I3对象作为参数放到主板中,mainBoard.setSet(i3);
  3. 在IOC中,给私有属性复制的情况成为注入。其中,注入分为两种方式,一种通过底层调用自定义的setter函数为私有属性的setter注入;一种是通过自定义的构造方法(或者是自己生成的默认构造函数)为私有属性赋值的构造注入。
  4. 当有多个注入时,可以通过扫包加注解的方式。此时,控制反转为通过Resource注解直接查找被注释的属性,而不再需要使用set方法。
    1. 在待使用的类上加注解,修改时只修改注解:
      1. Component----都可以使用
      2. Repository----dao层
      3. Service-----service层
      4. Controller-----controller层
    2. 对使用属性赋值的注解,在私有属性处添加注解:
      1. Resource
      2. Autowired

3. Mybatis框架原理

  1. Mybatis是对Hibernate进行封装,而Hibernate对JDBC进行封装。
  2. Hibernate的底层思想是ORM,即对象关系映射,程序中的对象object和数据库中的表table进行映射,即,每一个类对应数据库中的一个表,每一个对象的属性对应表中的一个字段。每个对象完全映射数据库中的每一个表。
  3. Mybatis是半ORM框架,高效的SQL语句由自己编写,只有结果集是映射的。
**smart-web2** 是一套相对简单的OA系统;包含了流程设计器,表单设计器,权限管理,简单报表管理等功能; 系统后端基于SpringMVC+Spring+Hibernate框架,前端页面采用JQuery+Bootstrap等主流技术; 流程引擎基于Snaker工作流;表单设计器基于雷劈网WEB表单设计器。 系统主要功能有: >1.系统管理 >>系统管理包含有:基础信息管理、系统权限管理、版本管理、子系统管理。 > >2.流程管理 >>流程管理包含有:流程设计器、流程实例管理、流程页面模版管理等功能。 > >3.表单管理 >>表单管理包含有:表单设计器、表管理、表单帮助信息管理等。 > >4.我的办公 >>我的待办、我的已办; > >5.简单报表管理 >>简单报表管理包含:简单报表的设计、报表管理等。 使用说明 ======= ------- ---数据库MySQL5.6以上 ---下载后把data目录下的smart-web2.zip解压;然后解压出来的脚本文件(“smart-web2.sql”)导入到mysql数据库中;注:建库时,字符集编码为:utf8(utf8_general_ci) ---修改配置文件“jdbc.properties”,改成对应数据库的用户名和密码 ---“sysconfig.properties”系统配置文件;需要修改“root.dir”属性,设置为系统上传文件时用来存放的根目录 ----系统管理员用户名为:admin;密码为:123456 ----linux类系统需要修改mysql的配置文件,改为数据库表名不区分大小写(lower_case_table_names=1) 环境要求 ------------ 1.jdk要求1.7及以上; 2.tomcat6或tomcat7; 3.eclipse版本4.4以上; 4.浏览器要求:IE8及以上(最理想的是IE10及以上),火狐,chrome等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值