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)响应用户。
SSM 的 基本原理与面试相关的更多相关文章
- 1、java编程的建议,面试相关
http://www.cnblogs.com/selene/p/5829605.html 面试相关:http://www.cnblogs.com/anrainie/p/5640208.html lin ...
- Java基础面试相关
面试相关的问题(下) 四 Linux高级_ 1.Linux机器 变慢,怎么查看? (1)整机的性能 主要查看的是CPU和内存 先查看整机的top,使用命令 top 虚拟机 使用1可以查看哪个核被占用过 ...
- Spark面试相关
Spark Core面试篇01 随着Spark技术在企业中应用越来越广泛,Spark成为大数据开发必须掌握的技能.前期分享了很多关于Spark的学习视频和文章,为了进一步巩固和掌握Spark,在原有s ...
- 面试相关-转载-well,yzl——持续更新
转载yl,yzl大神的面经,顺便自己复习一下专业课的内容 操作系统相关: 什么是进程, 什么是线程.它们之间的区别和联系. 进程管理内存资源+运行过程, 线程只管理运行过程, 线程要在进程提供的资源基 ...
- JAVA面试相关
2017 最新java面试题(技术面试) http://www.importnew.com/17232.html importNew-JAVA面试上篇 importNew-JAVA面试下篇 https ...
- 实习生面试相关-b
面试要准备什么 有一位小伙伴面试阿里被拒后,面试官给出了这样的评价:“……计算机基础,以及编程基础能力上都有所欠缺……”.但这种笼统的回答并非是我们希望的答案,所谓的基础到底指的是什么? 作为一名 i ...
- spring面试相关点
刚刚开通博客,因为最近在进行各种面试,遇到各种面试问题,用这个机会整理几篇文章方便日后需要 springmvc 和springboot spring boot只是一个配置工具,整合工具,辅助工具. s ...
- php面试相关整理
1.HTTP Keep-Alive的作用 作用:Keep-Alive:使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接.Web服务器,基 ...
- Redis数据类型,面试相关
1.Redis最为常用的数据类型主要有以下几种 String Hash List (消息队列) Set (可以用于存储不重复的列表数据) Sorted Set (有序不重复数的列表数据) Pub/Su ...
随机推荐
- Struts2 为什么被淘汰?自己作死!
Struts2 那些年可谓是风光无限啊,Struts2 + Spring + Hibernate 三大框架一起组成了 "SSH"----牛逼哄哄的 Java Web 框架三剑客. ...
- Ubuntu:Tkinter无法导入
最近想写个GUI小程序,所以就使用了python内置的Tkinter包,但是导入时竟然提示没有这个包? 使用命令搜索了下: sudo apt search python3-tk ,显示已经安装了.又重 ...
- java基础序--列化和反序列化
一.什么是序列化和反序列化: 序列化:是指把java堆内存中的对象转换成字节(二进制流)的过程.也就是通过某种方式将java对象存储在磁盘内存中,这个过程称为序列化 反序列化:是把磁盘上的对象转恢复成 ...
- 萌新学习SpringMVC
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 这篇SpringMVC被催了很久了,这阵子由于做 ...
- EOS基础全家桶(十二)智能合约IDE-VSCode
简介 上一篇我们介绍了EOS的专用IDE工具EOS Studio,该工具的优势是简单,易上手,但是灵活性低,且对系统资源开销大,依赖多,容易出现功能异常.那么我们开发人员最容易使用的,可能还是深度定制 ...
- Apache Module mod_reqtimeout
Apache Module mod_reqtimeout Available Languages: en Description: Set timeout and minimum data rate ...
- 王艳 201771010127《面向对象程序设计(java)》第一周学习总结
王艳 201771010127<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.co ...
- 洛谷P2765 魔术球问题
题目链接:https://www.luogu.org/problemnew/show/P2765 知识点: 最大流 解题思路: 本题所有边的容量均为 \(1\). 从 \(1\) 开始加入数字,将这个 ...
- vue脚手架3.0的安装与使用
一.安装 1.先检查是否有安装vue (vue-cli3需要node大于等于8.9版本) //vue -V 2.如果没安装跳过.安装有3.0以下的版本就的先卸载掉以前的版本 npm uninstal ...
- Opencv+Python实现缺陷检测
实验七.缺陷检测 一. 题目描述 对下面的图片进行缺陷检测操作,请详细地记录每一步操作的步骤. 第一站图片是标准样品,后面几张图中有几个样品有瑕疵,需要你通过计算在图片上显示出哪张是合格,哪张 ...