开源框架

  • Spring5 Framework体系结构
  • spring5概述
  • Spring5环境搭建
  • Spring MVC
  • AOP源码解析
  • IOC源码解析
  • Mybatis

spring

什么是Spring框架?Spring框架有哪些主要模块?

使用Spring框架能带来哪些好处?

什么是控制反转(IOC)?什么是依赖注入?

请解释下Spring框架中的IOC?

BeanFactory和ApplicationContext有什么区别?

Spring有几种配置方式?

如何用基于XML配置的方式配置Spring?

怎样用注解的方式配置Spring?

请解释Spring Bean的生命周期?

Spring Bean的作用域之间有什么区别?

什么是Spring inner beans?

Spring框架中的单例Beans是线程安全的么?

请举例说明如何在Spring中注入一个Java Collection?

如何向Spring Bean中注入一个Java.util.Properties?

请解释Spring Bean的自动装配?

如何开启基于注解的自动装配?

请解释自动装配模式的区别?

请举例解释@Required注解?

请举例解释@Autowired注解?

请举例说明@Qualifier注解?

构造方法注入和设值注入有什么区别?

Spring框架中有哪些不同类型的事件?

FileSystemResource和ClassPathResource有何区别?

Spring 框架中都用到了哪些设计模式?


SpringMVC

什么是SpringMvc?

Spring MVC的优点

SpringMVC工作原理?

SpringMVC流程?

SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?

如果你也用过struts2.简单介绍下springMVC和struts2的区别有哪些?

SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?

@RequestMapping注解用在类上面有什么作用?

怎么样把某个请求映射到特定的方法上面?

如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?

怎么样在方法里面得到Request,或者Session?

我想在拦截的方法里面得到从前台传入的参数,怎么得到?

如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?

SpringMvc中函数的返回值是什么?

SpringMVC怎么样设定重定向和转发的?

SpringMvc用什么对象从后台向前台传递数据的?

SpringMvc中有个类把视图和数据都合并的一起的,叫什么?

怎么样把ModelMap里面的数据放入Session里面?

SpringMvc怎么和AJAX相互调用的?

当一个方法向AJAX返回特殊对象,譬如Object,List等,需要做什么处理?

SpringMvc里面拦截器是怎么写的

讲下SpringMvc的执行流程


MyBatis

#{}和${}的区别是什么?

通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?

Mybatis是如何进行分页的?分页插件的原理是什么?

Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?

Xml映射文件中,除了常见的select|insert|update|delete标签之外,还有哪些标签?

简述Mybatis的插件运行原理,以及如何编写一个插件

一级、二级缓存

Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

Mybatis映射文件中,如果A标签通过include引用了B标签的内容,请问,B标签能否定义在A标签的后面,还是说必须定义在A标签的前面?

简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?

面试题及答案的获取方式,欢迎加入Java进阶架构交流:805685193。提供Java架构进阶思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分布式项目实战学习架构师视频。


答案解析

什么是Spring框架?Spring框架有哪些主要模块?

Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。

Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。

Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。

Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。

SpringMVC工作原理?

  1. 客户端发送请求到DispatcherServlet
  2. DispatcherServlet查询handlerMapping找到处理请求的Controller
  3. Controller调用业务逻辑后,返回ModelAndView
  4. DispatcherServlet查询ModelAndView,找到指定视图
  5. 视图将结果返回到客户端

MyBatis的好处是什么?

  1. MyBatis把sql语句从Java源程序中独立出来,放在单独的XML文件中编写,给程序的维护带来了很大便利。
  2. MyBatis封装了底层JDBC API的调用细节,并能自动将结果集转换成Java Bean对象,大大简化了Java数据库编程的重复工作。
  3. 因为MyBatis需要程序员自己去编写sql语句,程序员可以结合数据库自身的特点灵活控制sql语句,因此能够实现比Hibernate等全自动orm框架更高的查询效率,能够完成复杂查询。

面试题及答案的获取方式,欢迎加入Java进阶架构交流:805685193。提供Java架构进阶思维导图,主要分享分布式架构、高可扩展、高性能、高并发、性能优化、Spring MVC、Redis、MyBatis、Nginx、Jvm大型分布式项目实战学习架构师视频。

aop拦截mybatis执行sql_Java进阶架构之开源框架面试题系列:Spring+SpringMVC+MyBatis相关推荐

  1. ssm面试题总结 spring springmvc mybatis面试题

    1.你如何理解Spring? 具体来说Spring是一个轻量级的容器,用于管理业务相关对象的.核心功能主要为:IOC,AOP,MVC. IOD:控制反转,将对象的创建过程交给容器,让容器管理对象的生命 ...

  2. 三大框架整合教程(Spring+SpringMVC+MyBatis)

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaB ...

  3. SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 14小时以前 CSDN日报 ...

  4. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 前言 本项 ...

  5. 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构zhen项目

    原项目链接:https://github.com/shuzheng/zheng 目前看过做完整的项目,大家一起学习一下,详情请点击原项目链接的地址 前言 zheng项目创建于2016年10月4日,正在 ...

  6. 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构---权限管理系统

    原文链接: https://github.com/shuzheng/zheng 安利一个GitHub上的项目,见原文链接. 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构, ...

  7. Spring+SpringMVC+MyBatis整合基础篇

    基础篇 Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介 Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试 Spring+S ...

  8. Springboot+ssm(Spring+SpringMVC+MyBatis)旧物置换网站

    目  录 摘  要    I 目  录    III 第1章 概述    1 1.1 研究背景    1 1.2 研究现状    1 1.3 研究内容    2 第二章 开发技术介绍    2 2.1 ...

  9. Spring + SpringMvc + Mybatis中小企业仓储仓库进销存管理系统java

    中小企业仓储管理系统主要实现的功能有:  提供仓库各类信息的浏览.添加.删除.修改等操作.  可以进行入库出库操作,并保证安全性.  可进行日志管理,方便事后查看.  系统其他的相关功能. (2)拟采 ...

最新文章

  1. Jquery checkbox全选简单用法
  2. SQL Server数据库中、获得刚插入新记录的自动ID号
  3. 自定义实现ProgressDialog样式的Dialog
  4. 带电检测必要性_接地电阻检测分析的必要性
  5. java cpu高_Java中的CPU占用高和内存占用高的问题排查
  6. 矩阵经典题目六:poj 3070 Fibonacci
  7. 排序不等式、证明及其应用
  8. Java连接mysql数据库的方式_java连接MySQL数据库的方式
  9. 18. Make interfaces esay to use correctly and hard to use incorrectly
  10. c++ 空类大小不为0的原因
  11. 一名大学生选择军哥的乾颐堂是如何顺利通过华为HCIE的,又如何应对HCIE面试呢?...
  12. hwd分别是长宽高_DS-2CD7A87HWD-XZS 海康威视800万AI人脸抓拍比对筒型网络摄像机
  13. 微信小程序获取OneNet数据显示温湿度
  14. AST反混淆实战:猿人学爬虫比赛第二题详细题解
  15. 可靠、稳定、安全,龙蜥云原生容器镜像正式发布!
  16. http code码详解
  17. 计算机网络(西工大复习)更新
  18. 怎样才能让百度搜索到自己的csdn博客
  19. C语言常用词汇(2)
  20. C# DateTimePicker:日期时间控件

热门文章

  1. TNNLS 22|分数不是关键,排名才是关键:针对排行榜的模型“行为”保持与灾难性遗忘的克服...
  2. WWW 2021 | 通过强化学习控制对话式检索的风险
  3. CVPR 2020最新热点:物体位姿估计
  4. ICCV 2019 论文解读 | 基于层次解析的Image Captioning
  5. 第四届AutoDL挑战赛——AutoSpeech2019正式开赛
  6. java第九章IO流与文件操作
  7. 浙江大学人工智能研究所:AI+X驱动科学发现
  8. linux设置esp8266默认网卡,ESP8266 Linux开发环境搭建
  9. java和c语言的区别_单片机为什么一直用C语言,不用其他编程语言?只有学过的知道...
  10. 河北计算机一级考试题库操作题,年河北计算机一级操作题题库及答案.doc