spring和Mybaits一些常见的面试题

Posted SmallCuteMonkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring和Mybaits一些常见的面试题相关的知识,希望对你有一定的参考价值。

Spring的使用的几种模式:

  1. 单例模式 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;
    }
}

  1. 代理模式 SpringAop的实现
    分为静态代理模式,
    和动态代理模式

  2. 模板方法 SpringJDBC

  3. 工厂模式 BeanFacotry,ApplicationContext

  4. 包装器设计模式:切换不同的数据源

  5. 观察模式: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一些常见的面试题的主要内容,如果未能解决你的问题,请参考以下文章

BAT面试Java岗常问高频100题:Spring+微服务+SpringMVC+MyBatis

spring cloud面试题整理(含答案)

Spring MVC常见面试题解析

我总结了spring常见的面试题,面试必问

我总结了spring常见的面试题,面试必问

2022年度最常见的Spring Boot面试题附解析