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 ...
随机推荐
- Python爬虫丨大众点评数据爬虫教程(2)
大众点评数据爬虫获取教程 --- [SVG映射版本] 前言: 大众点评是一款非常受大众喜爱的一个第三方的美食相关的点评网站.从网站内可以推荐吃喝玩乐优惠信息,提供美食餐厅.酒店旅游.电影票.家居装修. ...
- 在dynamics 365 中,看字段的描述需要到系统字段设置里面才能看到,这里提供一种sql直接看字段和实体名描述的方法
1.在crm对应的主数据库执行下面存储过程: -- ============================================= -- Author: <Author,,Name& ...
- 关于redis内存分析,内存优化
对于redis来说,什么是最重要的? 毋庸置疑,是内存. 一.reids 内存分析 redis内存使用情况:info memory 示例: 可以看到,当前节点内存碎片率为226893824/20952 ...
- 爬取淘宝商品信息,放到html页面展示
爬取淘宝商品信息 import pymysql import requests import re def getHTMLText(url): kv = {'cookie':'thw=cn; hng= ...
- wpf winform 截图
wpf 通过下面的截图,标题可能会丢失. public void CreateBitmapFromVisual(Window win, string fileName) { ...
- utf8mb4复杂昵称问题
wechat_ling wl_channel_consumer nickname wl_consumer nickname alter table wl_channel_consumer modify ...
- mysql小白系列_06 备份与恢复
1.使用mydumper工具全库备份. 1)源码编译安装 2)全库备份 2.误操作truncate table gyj_t1;利用mysqldump的备份和binlog日志对表gyj_t1做完全恢复. ...
- php RSA和AES加密算法
一.RSA加密 RSA只说PHP中的应用,详细的算法原理解释,请自行百度,或者参考(RSA加密算法-详细解释以及公钥加密为什么每次都不一样) 总结:公钥加密.私钥解密.私钥签名.公钥验签. 注意: 1 ...
- java判断是否是合法IP
public boolean ipCheck(String text) { if (text != null && !text.isEmpty()) { // 定义正则表达式 Stri ...
- asp中设置session过期时间方法总结
http://www.jb51.net/article/31217.htm asp中设置session过期时间方法总结 作者: 字体:[增加 减小] 类型:转载 asp中默认session过期时间 ...