1.1 Spring高频口试题+解析

什么是 Spring 框架?Spring 框架有哪些紧张模块?利用 Spring 框架能带来哪些好处?Spring 框架中有哪些不同类型的事宜?Spring 框架中都用到了哪些设计模式?什么是掌握反转(IOC)?请阐明下 Spring 框架中的 IoC ?BeanFactory 和 和 ApplicationContext 有什么差异?Spring 有几种配置办法?如何用基于 XML 配置的办法配置 Spring ?如何用基于 Java 配置的办法配置 Spring ?若何用表明的办法配置 Spring ?请阐明 Spring Bean 的生命周期?Spring Bean 的浸染域之间有什么差异?什么是 Spring inner beans ?Spring 框架中的单例 Beans 是线程安全的么?请举例解释如何在 Spring 中注入一个 Java Collection ?如何向 Spring Bean 中注入一个 Java.util.Properties ?请阐明 Spring Bean 的自动装置?请阐明自动装置模式的差异?如何开启基于表明的自动装置请举例阐明@Required 表明?请举例阐明@Autowired 表明?请举例解释@Qualifier 表明?布局方法注入和设值注入有什么差异?FileSystemResource 和 和 ClassPathResource 有何差异?

25道Spring高频口试+解析

26.Spring 在ssm中起什么浸染?

jsp知识点思维导图SSM框架温习总结面试高频题含解析进修笔记进修路线图 Vue.js

Spring:轻量级框架浸染:Bean工厂,用来管理Bean的生命周期和框架集成。
两大核心:1、IOC/DI(掌握反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。
2、AOP:面向切面编程

27.Spring的事务?

编程式事务管理:编程办法管理事务,极大灵巧性,难掩护。
声明式事务管理:可以将业务代码和事务管理分离,用表明和xml配置来管理事务。

28.IOC 在项目中的浸染?

浸染:Ioc办理工具之间的依赖问题,把所有Bean的依赖关系通过配置文件或表明关联起来,降落了耦合度。

29.Spring的配置文件中的内容?

开缘由务表明驱动事务管理器开启表明功能,并配置扫描包配置数据库配置SQL会话工厂,别名,映射文件不用编写Dao层的实现类

30.Spring下的表明?

注册:@Controller @Service @Component注入:@Autowired @Resource要求地址:@RequestMapping返回详细数据类型而非跳转:@ResponseBody

31.Spring DI 的三种办法?

布局器注入:通过布局方法初始化

<constructor-arg index=\"大众0\"大众 type=\公众java.lang.String\"大众 value=\"大众宝马\公众></constructor-arg>

setter方法注入:通过setter方法初始化

<property name=\"大众id\"大众 value=\公众1111\公众></property>

32.Spring紧张利用了什么模式?

工厂模式:每个Bean的创建通过方法单例模式:默认的每个Bean的浸染域都是单例代理模式:关于Aop的实现通过代理模式

33.IOC,AOP的实现事理?

IOC:通过反射机制天生工具注入AOP:动态代理

1.2 Spring学习思维脑图

Spring学习思维脑图

1.3 Spring学习条记

(1)Spring源码深入解析(PDF)

Spring源码深入解析(PDF)

(2)Spring实战(PDF)

Spring实战(PDF)

02 SpringMVC

2.1 Spring MVC口试题+解析

什么是 SpringMvc?Spring MVC 的优点:SpringMVC 事情事理?SpringMVC 流程?SpringMvc 的掌握器是不是单例模式,如果是,有什么问题,怎么办理?如果你也用过 struts2.大略先容下 springMVC 和 struts2 的差异有哪些?SpingMvc 中的掌握器的表明一样平常用那个,有没有别的表明可以替代?@RequestMapping 表明用在类上面有什么浸染?怎么样把某个要求映射到特定的方法上面?如果在拦截要求中,我想拦截 get 办法提交的方法,怎么配置?怎么样在方法里面得到 Request,或者 Session?我想在拦截的方法里面得到从前台传入的参数,怎么得到?如果前台有很多个参数传入,并且这些参数都是一个工具的,那么怎么样快速得到这个工具?SpringMvc 中函数的返回值是什么?SpringMVC 怎么样设定重定向和转发的?SpringMvc 用什么工具从后台向前台通报数据的?SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?怎么样把 ModelMap 里面的数据放入 Session 里面?SpringMvc 怎么和 AJAX 相互调用的?讲下 SpringMvc 的实行流程SpringMvc 里面拦截器是怎么写的?当一个方法向 AJAX 返回分外工具,譬如 Object,List 等,须要做什么处理?

22道SpringMVC口试题+解析

23.SpringMvc 的掌握器是不是单例模式,如果是,有什么问题,怎么办理?

问题:单例模式,在多线程访问时有线程安全问题办理方法:不要用同步,在掌握器里面不能写字段

24.SpringMvc 中掌握器的表明?

@Controller:该表明表明该类扮演掌握器的角色

25.@RequestMapping 表明用在类上的浸染?

浸染:用来映射一个URL到一个类或者一个特定的处理方法上

26.前台多个参数,这些参数都是一个工具,快速得到工具?

方法:直接在方法中声明这个工具,SpringMvc就自动把属性赋值到这个工具里面

27.SpringMvc中函数的返回值?

String,ModelAndView,List,Set 等

一样平常String,Ajax要求,返回一个List凑集

28.SpringMvc中的转发和重定向?

转发:return:“hello”重定向 :return:“redirect:hello.jsp”

29.SpringMvc和Ajax之间的相互调用?

通过JackSon框架把java里面对象直接转换成js可识别的json工具,详细步骤如下:

加入JackSon.jar在配置文件中配置json的映射在接管Ajax方法里面直接返回Object,list等,方法前面须要加上表明@ResponseBody

30.SpringMvc的事情流程图?

31.Struts2 和 SpringMvc的差异?

入口不同:

Struts2:filter过滤器SpringMvc:一个Servlet即前端掌握器

开拓办法不同:

Struts2:基于类开拓,通报参数通过类的属性,只能设置为多例SpringMvc:基于方法开拓(一个url对应一个方法),要求参数通报到方法形参,可以为单例也可以为多例(建议单例)

要求办法不同:

Struts2:值栈村落学要乞降相应的数据,通过OGNL存取数据SpringMvc:通过参数解析器将request要求内容解析,给方法形参赋值,将数据和视图封装成ModelAndView工具,末了又将ModelAndView中的模型数据通过request域传输到页面,jsp视图解析器默认利用的是jstl。

2.2 Spring MVC学习条记

(1)识破Spring MVC源代码剖析与实践

识破Spring MVC源代码剖析与实践

(2)精通Spring MVC

精通Spring MVC

03 Mybatis

3.1 Mybatis口试题+解析

什么是 MyBatis?讲下 MyBatis 的缓存Mybatis 是如何进行分页的?分页插件的事理是什么?简述 Mybatis 的插件运行事理,以及如何编写一个插件?Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的实行事理不?#{}和${}的差异是什么?为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的差异在哪里?Mybatis 是否支持延迟加载?如果支持,它的实现事理是什么?MyBatis 与 Hibernate 有哪些不同?MyBatis 的好处是什么?简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据构造之间的映射关系?什么是 MyBatis 的接口绑定,有什么好处?接口绑定有几种实现办法,分别是怎么实现的?什么情形下用表明绑定,什么情形下用 xml 绑定?MyBatis 实现一对一有几种办法?详细怎么操作的?Mybatis 能实行一对一、一对多的关联查询吗?都有哪些实现办法,以及它们之间的差异?MyBatis 里面的动态 Sql 是怎么设定的?用什么语法?Mybatis 是如何将 sql 实行结果封装为目标工具并返回的?都有哪些映射形式?Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?当实体类中的属性名和表中的字段名不一样,如果将查询的结果封装到指定 pojo?模糊查询 like 语句该怎么写常日一个 Xml 映射文件,都会写一个 Dao 接口与之对应, Dao 的事情事理,是否可以重载?Mybatis 映射文件中,如果 A 标签通过 include 引用了 B 标签的内容,叨教,B 标签能否定义在 A 标签的后面,还是说必须定义在 A 标签的前面?Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?Mybatis 中如何实行批处理?Mybatis 都有哪些 Executor 实行器?它们之间的差异是什么?Mybatis 中如何指定利用哪一种 Executor 实行器?Mybatis 实行批量插入,能返回数据库主键列表吗?Mybatis 是否可以映射 Enum 列举类?如何获取自动天生的(主)键值?在 mapper 中如何通报多个参数?resultType resultMap 的差异?Mybatis 比 IBatis 比较大的几个改进是什么?IBatis 和 MyBatis 在细节上的不同有哪些?

35道Mybatis口试题+解析

35.Ibatis和Mybatis?

Ibatis:2010年,apache的Ibatis框架停滞更新,并移交给了google团队,同时更名为MyBatis。
从2010年后Ibatis在没更新过,彻底变成了一个孤儿框架。
一个没人掩护的框架注定被mybatis拍在沙滩上。
Mybatis:Ibatis的升级版本。

36.什么是Mybatis的接口绑定,有什么好处?

Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们天生接口的详细实现,利用起来变得更加省事和方便。

37.什么情形用表明,什么情形用xml绑定?

表明利用情形:Sql语句大略时xml绑定利用情形:xml绑定 (@RequestMap用来绑定xml文件)

38.查询表名和返回实体Bean工具不一致,如何处理?

映射键值对即可

<result column=\公众title\"大众 property=\公众title\"大众 javaType=\公众java.lang.String\"大众/>column:数据库中表的列名property:实体Bean中的属性名

39.Mybatis的好处?

把Sql语句从Java中独立出来。
封装了底层的JDBC,API的调用,并且能够将结果集自动转换成JavaBean工具,简化了Java数据库编程的重复事情。
自己编写Sql语句,更加的灵巧。
入参无需用工具封装(或者map封装),利用@Param表明

40.Mybatis配置一对多?

<collectionproperty=\"大众topicComment\"大众column=\"大众id\"大众ofType=\"大众com.tmf.bbs.pojo.Comment\公众 select=\"大众selectComment\"大众/>property:属性名column:共同列ofType:凑集中元素的类型select:要连接的查询

41.Mybatis配置一对一?

<association property=\"大众topicType\"大众 select=\公众selectType\"大众column=\"大众topics_type_id\"大众javaType=\公众com.tmf.bbs.pojo.Type\公众/>property:属性名select:要连接的查询column:共同列javaType:凑集中元素的类型

42.${} 和 #{}的差异?

${}:大略字符串更换,把${}直接更换成变量的值,不做任何转换,这种是取值往后再去编译SQL语句。
#{}:预编译处理,sql中的#{}更换成?,补全预编译语句,有效的防止Sql语句注入,这种取值是编译好SQL语句再取值。

总结:一样平常用#{}来进行列的代替

43.Mybatis事情事理?

事理:

通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。
SqlSessionFactory开启一个SqlSession,通过SqlSession实例得到Mapper工具并且运行Mapper映射的Sql语句。
完成数据库的CRUD操作和事务提交,关闭SqlSession。

3.2 MyBatis技能底细(PDF)

MyBatis技能底细(PDF)

3.3 SSM框架技能图谱

SSM框架技能图谱

写在末了

有须要以上

再分享更多的学习思维脑图以及最近整理的一份JAVA核心知识点整理(PDF)给大家学习

学习思维脑图

关注一下免费领取办法哈:转发+转发+转发+私信“框架”免费领取!




JAVA核心知识点整理