ssm框架学习记录

1 篇文章 0 订阅
1 篇文章 0 订阅

mybatis概述

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。Mybatis时一款优秀的半 ORM 框架,底层以 JDBC 为基础,实现持久化操作。
Mybatis总配置文件解析:MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。对MyBatis总配置文件进行配置设置会改变Mybtatis运行时的整体行为。必配配置:environments(环境配置)mappers(映射器配置)常用配置:properties(属性文件/属性配置)settings(系统配置)typeHanddler(类型处理器配置)plugins(插件/拦截器配置)Mybatis映射文件配置:cachecache-refresultMap:是mybatis用于映射数据表和Java实体的核心,功能强大。
id:让实体的某个字段与数据库主键进行映射
result:让实体的普通字段与数据库的列进行映射
association:用于进行一对一、多对一级联映射可以通过调用一个已有的查询方法完成级联查询可以在查询中使用连表查询一次性查询出级联数据
collection:用于进行一对多、多对多级联映射实现方式与association相同discriminator:使用结果值来决定使用哪个
resultMapcase:用于匹配选项
sql:用于抽取可重用SQL片段的
select:绑定查询功能方法实现insert:绑定新增功能方法实现
update :绑定修改功能方法实现
delete:绑定删除功能方法实现

Mybatis的缓存支持:

缓存:存储在内存中的临时数据。缓存的作用是为了提升查询速度从而提升性能的!mybatis提供的一级缓存与二级缓存,同时允许通过第三方类库实现扩展缓存
一级缓存:
基于SqlSession级别的缓存,该缓存默认开启,它只能在同一个 sqlSession中共享缓存
二级缓存:
基于SqlSessionFactory级别的缓存,该缓存在新版本中页默认开启,如果需要关闭二级缓存,那么需要去全局设置 setting 中配置缓存设置。如果要将一级缓存中的数据加入到二级缓存中,那么需要在当前映射器配置文件中加入
cache 配置,被添加到二级缓存中的数据须可序列化。
cache标签:
eviction:定义缓存清除策略flushInterval:定义缓存刷新事件
size:定义缓存中存储数据量
扩展缓存: Mybatis为了适应更多的业务场景,提供了扩展缓存功能支持,开发者只需要实现Mybatis提供的 Cache 接口,并添加缓存实现类配置即可(一般情况下,我们直接使用第三方缓存实现类库即可)。
缓存又称为查询缓存,只对查询生效,写(增删改)操作会刷新缓存。
Mybatis动态SQL标签:mybatis的动态SQL标签也是其强大功能之一,它允许开发者在映射器文件中使用动态标签来定制业务更为复杂的SQL语句。
if:用来进行单条件流程控制
choose:用于进行多条件分支流程控制
foreach:用于进行迭代/循环流程控制trimwhereset

Spring 是什么?

Spring 是一个用作项目基础架构管理的容器框架,主要作用是提供容器化支持,用于管理项目中用到的组件及组件依赖装配,并且基于Spring的基础架构,在它之上集成任何第三方组件都是非常容易的。spring提供了九个基础模块,我们可以单独的使用其中的某个模块的内容,spring依然是完整的。我们需要学习的两个Spring基础的也是最核心的功能模块就是 IOC 模块和 AOP 模块。

IOC容器:

IOC(控制反转)——将绑定在程序内部的组件控制过程移交给外部spring容器,这个过程就称之为控制反转,控制反转是依赖于DI (依赖注入)实现。

之前我们在程序中要使用一个组件,得在程序内部通过 new 关键字来创建这个对象并管理,使用了spring之后,spring接管了这个过程,我们不在关心一个组件初始化及管理得过程,而是在使用到组件得时候,直接和spring容器去拿。spring实现控制反转需要依赖于DI。

所以学习Spring的IOC其实就是学习spring中 bean 的配置。

DI —— 依赖注入:
设值注入:spring通过组件的无参构造器构造对象,并通过对应属性的 get/set方法完成成员注入
构造注入:spring通过组件对应的有参构造器构造对象,在构造器中传入相应的成员完成成员注入
工厂方法注入:
基于XML的容器中 Bean 的配置:
id——指定bean的唯一标识
class——指定bean所指向的class类,配置的类的全类名或者 alias 配置的别名
scope——指定bean的作用域
singleton:单例,全局使用的bean都是同一个
prototype:原型,每次从容器中获取到的bean都是一个新创建的bean
init-method / destory-method :指定自定义的bean的生命周期方法
一个bean的完整生命周期:构造方法——init-method指定的初始化方法——BeanPostProcesser 的初始化前置方法——BeanPostProcesser 的初始化后置方法——bean准备完成——使用bean工作——destory-method指定的销毁方法
lazy-init——配置延迟加载(懒加载),用于延迟加载一个bean,使spring在启动时消耗资源变少
depends-on——配置先决条件bean,如果该bean依赖于某个前置依赖,可以配置此项
parent——配置继承,用于让一个bean去继承一个父模板bean(父模板bean无需被初始化,是abstract的)
autowire——配置自动装配,但配置灵活度不够(如果配置该属性,那么bean中的所有依赖都会自动检索并装配,如果想单独控制,做不到)
byName
byType
基于注解的容器中 Bean 的配置:
1、加入spring配置文件中的命名空间——context
2、启用注解配置,并配置自动扫描

springMVC是什么?

springMVC是基于 servlet API 搭建的一个web框架。主要作用是用来充当web交互的控制层组件存在的,主要功能有:接收请求、接收请求参数、封装模型数据、完成客户端响应。

1、接收请求
主要通过 @RequestMapping 注解完成请求映射的规则匹配

@RequestMapping 可以加在方法上,可以加在控制器类上,如果方法和控制器类上都有@RequestMapping标识,那么二者将组合对请求映射进行控制

@RequestMapping注解中有很多属性可以设定。必要属性为 value (用于定义映射 URL),常用属性为method (用于对请求方式进行精确限定)和 params (用于对请求参数进行精确限定)。

springmvc 支持 Ant 风格的Url ,允许我们在 Url 中添加一些通配符或参数占位符,并且springmvc将会按照通配匹配规则进行请求映射的匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值