spring和Mybaits一些常见的面试题
Posted SmallCuteMonkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring和Mybaits一些常见的面试题相关的知识,希望对你有一定的参考价值。
Spring的使用的几种模式:
- 单例模式 SpringBean的默认为单例模式,scope=“singleton”,这个是spring默认的。
包括:饿汉模式和懒汉模式
饿汉代码实现:
public class HungryMan{
public static HugnryMan hungryman=new HungryMan();
private HugryMan(){
}
public static HungryMan getInstance(){
return hugryman;
}
}
懒汉模式代码实现:
public class LazyMan{
//类初始化时,不初始化这个对象(延时加载,真正用的时候再创建)
private static LazyMan instance;
//构造器私有化
private LazyMan(){}
//方法同步,调用效率低
public static synchronized LazyMan getInstance(){
if(instance==null){
instance=new LazyMan();
}
return instance;
}
}
-
代理模式 SpringAop的实现
分为静态代理模式,
和动态代理模式 -
模板方法 SpringJDBC
-
工厂模式 BeanFacotry,ApplicationContext
-
包装器设计模式:切换不同的数据源
-
观察模式:spring的事件驱动
mybatis和Hibernate什么关系?
Hibernate:是一个全自动化基于Orm映射的框架,sql语句也给我们封装好了,比较的安全
mybatis: 是一个半自动化的一个基于orm的框架,需要自己手写sql语句,比较灵活。
jpa和hibernate什么关系?
JPA可以简单的理解为标准的接口,Hibernate是实现。但是JPA是Hibernate遵循的规范之一,Hibernate还有其他的规范。
redis,mongodb什么区别?适用场景?
设计者模式和框架的区别?
框架是软件,设计者模式是软件的知识。
MVC是设计者模式,很多的框架是基于设计者模式的体现
mybatis的几级缓存?基体说下
一级缓存:sqlSession级别的缓存,默认开启的。
二级缓存:多个SqlSession共用Mapper的语句,Mapper级别的缓存,可以进行手动的打开。
springMVC的执行原理?
解释一下专业术语?
oop ioc di aop orm mvc soa(面向服务编程) sso(单点登录) pojo po dao
dto(和pojo差不多,Data transfrom object 数据传输对象) vo(value object),用于业务层之间数据传递。
po: PO(Persistent Object)持久层对象,它是由一组属性和属性的get和set方法组成
bo(business Ojbect)业务对象
以上是关于spring和Mybaits一些常见的面试题的主要内容,如果未能解决你的问题,请参考以下文章