SSM 的 基本原理与面试相关

个人博客网:https://wushaopei.github.io/    (你想要这里多有)

一、MyBatis

1、Mybatis出现最多的问题是什么?

问题: 在XML配置文件中语句的书写与对象中定义的不一致,导致编译报错。

2、MYbatis的分页实现原理?不可能功能都去组装limit?

Mybatis的逻辑分页比较简单,简单来说就是取出所有满足条件的数据,然后舍弃掉前面offset条数据,然后再取剩下的数据的limit条

二、Spring

1、Spring的两个特性是什么?

  • IOC与AOP
  • Spring的核心是IOC和AOP,控制反转将对象的生成不通过类new交给IOC容器,通过反射动态的去创建调用对象;面向切面编程通过代理模式,实现了业务和服务的分离,扩展了程序功能,如日志,权限等。

2、IOC 控制反转是什么?

创建对象实例的控制权从代码控制剥离到IOC容器控制,实际上你在xml文件控制,侧重于原理。

spring中IOC与DI 是密切不分的,即依赖注入:创建对象实例时,为这个对象注入属性值或其他对象实例,侧重于实现。

IOC又称DI,把类内部的依赖放到类外部,降低代码的耦合(解耦),把对象生成交给XML,便于修改和维护,实现了对象的热插拔。

3、什么是AOP ?

在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等。

Aop的代理:aop框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类。

4、一个类中,第一个方法没加事务,第二个方法加事务,如果方法一调用方法二时事务会生效吗?

不会,在一个service内部,事务方法之间的嵌套调用,普通方法和事务方法之间的嵌套调用,都不会开启新的事务。

同一个类中是不会开启事务的,不同的类中才会开启事务的;或者把注解加到类名上面。

5、事务的传播特性,都有哪些类型?

传播特性有7种,mandatory、nested、never、not_supported、requires_new、requires、

6、Spring的常用注解?

@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。
@Scope注解 作用域
@Lazy(true) 表示延迟初始化
@Service用于标注业务层组件、 
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件。
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Scope用于指定scope作用域的(用在类上)

 

三、SpringMVC

1、SpringMVC的工作原理是什么?

浏览器发送请求到DispatcherServlet(前端控制器),调用HandlerMapping(处理映射器)访问XML或注解返回Handler给DispatcherServlet,再把Handler给HandlerAdapter(处理适配器)去访问对应的Controller(后端控制器),返回ModelAndView给DispatcherServlet,再把ModelAndView给ViewReslover(视图解析器)解析返回具体的View给DispatcherServlet,最后由DispatcherServlet渲染视图(将model填充到view)响应用户。

 

 

 

 

 

posted @ 2019-12-03 20:43  维宇空灵  阅读(332)  评论(0编辑  收藏  举报