ssm的笔记

  1. mybatis框架的优缺点?
    优点:

与JDBC相比,减少了50%以上的代码量

最简单的持久化框架、小巧简单易学

SQL代码从程序代码中彻底分离出来,可重用

提供XML标签,支持编写动态SQL

提供映射标签,支持对象与数据库的ORM字段关系映射

缺点:

SQL语句编写工作量大,熟练度要高

数据库移植性差,比如mysql移植到Orecle,SQL语句会有差异从而引起err

MyBatis专注于SQL本身,是实体类与SQL语句之间建立的映射关系(不是实体类与表),是一个足够灵活的dao层优化方案,适用于性能要求高,需求多变的项目 。

  1. 解释下ORM及持久化的概念。
    ORM:对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的。用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQL语句打交道,只需简单的操作实体对象的属性和方法。O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化。它也可以理解为一种数据持久化技术,其主要是把对象模型,例如JavaBean对象和关系型数据库的表建立对应关系,并且提供了一个通过JavaBean对象去操作数据库表的机制.
    持久化: 数据持久化就是将内在中的数据模型转换为存储模型,以及将存储模型转换为内在中的数据模型的统称,数据模型可以是任何数据结构或对象模型,例如JavaBean对象;存储模型可以是关系型数据库表,XML文件,二进制文件等.

  2. 解释一下mybatis核心对象的生命周期及作用域.
    SqlSessionFactoryBuilder 的生命周期和作用域
      SqlSessionFactoryBuilder 的最大特点是:用过即丢。一旦创建了 SqlSessionFactory 对象之后,这个类就不再需要存在了,因此 SqlSessionFactoryBuilder 的最佳范围就是存在于方法体内,也就是局部变量而已。即最佳范围是方法范围 (本地方法变量)。
    SqlSessionFactory 的生命周期和作用域––
    SqlSessionFactory 对象一旦创建,就会在整个应用运行过程中始终存在。没有理由去销毁或再创建它,并且在应用运行中也不建议多次创建 SqlSessionFactory 。因此 SqlSessionFactory 的最佳作用域是 Application,即随着应用的生命周期一同存在。那么这种 “存在于整个应用运行期间,并且同时只存在一个对象实例” 的模式就是所谓的单例模式(指在应用运行期间有且仅有一个实例)。即 SqlSessionFactory 的最佳范围是应用范围。

SqlSession 的生命周期和作用域
  正如其名, SqlSession 对应着一次数据库会话。由于数据库会话不是永久的,因此 SqlSession 的生命周期也不应该是永久的。创建 SqlSession 的地方只有一个,那就是 SqlSessionFactory 对象的 openSession()方法。
  需要注意的是:每个线程都有自己的 SqlSession 实例, SqlSession 实例不能被共享,也不是线程安全的。因此最佳的作用域范围是请求 request 范围或者方法范围。
4. 采用maven结合idea开发,开发环境如何搭建?创建的maven项目结构有什么特点?

控制反转(IoC:Inversion of Control ) /依赖注入(DI:Dependency Injection )
1.将组件对象的控制权从代码本身转移到外部容器
2.组件化的思想:分离关注点,使用接口,不再关注实现
3.依赖的注入:将组件的构建和使用分开

面向切面编程(AOP):
1.AOP的目标:让我们可以“专心做事”
2.AOP原理
将复杂的需求分解出不同方面,将散布在系统中的公共功能集中解决
采用代理机制组装起来运行,在不改变原程序的基础上对代码段进行增强处理,增加新的功能

AOP相关术语
增强处理(Advice)
前置增强
后置增强
环绕增强、异常抛出增强、最终增强等类型
切入点(Pointcut)
连接点(Join Point)
切面(Aspect)
目标对象(Target object)
AOP代理(AOP proxy)
织入(Weaving)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值