Java面试题(框架篇)

框架固然重要,所以总结是必然的

(1-4 mybais)

(5-10 spring)

(11-12 springmvc)

Struts2跟hibernate本章节不做阐述

一,Mybatis 写五个判断语句(记不清面试官是要我写五个连续的判断还是五个单独的判断)

<if test=”xxxxXxxx !=null”>   test里面就是你要判断的条件

         如果是连续的,你就把判断语句写在 if 标签里面 通过嵌套的形式来实现,

<if>

如果是单独的就写在外面即可,一般qingk

二,Mybatis如何实现多对多查询

在pojo类中将要查询出来的列表属性,映射到一个List中,再将另外一个pojo类中,添加需要查询的列表,也映射到一个list中,

Mybatis文件应该用<resultMap>标签,需要查询的列照常用<result>标签,将对应的多条记录使用collection标签 , 而<collection>里面的记录还对应着多条记录,还需要一个<collection>来表示其对应关系 

三,什么是延迟加载,该如何表示?

resultMap标签里面,使用association可以实现延迟加载

所谓的延迟加载,就是当你需要用到的时候,就帮你去查询出来,不需要的时候,就不查

Mybatis默认没有开启延迟加载

需要开启:setting 标签,固定的name值是:lazyLoadingEnabled  value值是true

四,你有没有用过plugins

简单明了,用过就行了. 

PS:当时可能是没听清面试官的发音,居然不知道他说的啥.最后尴尬的bey-bey了

本人第一份工作就是用的这玩意, 配置好表名,直接CURD就帮你生成了.不建议使用.因为你会一脸懵逼.

PS: 一些零散的知识点就不去总结了,mybatis单独拿出来问也很少见.

五,spring  aop是怎么配的?

定义目标对象,一般是service的实现类

创建切面类对象,这个对象拥有通知方法,有前置,后置通知,最终,异常,环绕通知

然后通过aop:config 标签来配置切面,里面需配置通知和切入点。Aop::aspect 引用切面类对象外键。切入点需配置切入点表达式。

Ps:这个问题会有很多种方式问你,比如:你们公司是纯xml配置吗,还是说注解加xml配置配合使用。会问你各个的优势(问过) 本人觉得回答纯xml配置就可以了。因为xml更清晰的表示了每一个标签的作用。假如问其他配置方式就不清晰吗?就说习惯问题。再问的话,拍他!

六,spring 的bean是怎么把对象管理起来的?

查阅很多资料,是通过反射机制

七,spring 配置事物

把数据源通过事物管理器管理起来

DataSourceTransactionManager

通过tx:advice配置事物通知

然后配置事物切面,aop:advisor

八,spring有几种自动装配的方式?

有五种,分别是

No,默认的装配方式,也就是不会自动装配

byname:通过参数名

byType:通过参数类型

constructor:类似于byType,必须提供构造器参数

autodetect:首先尝试使用constructor来自动装配,如果无法工作,则使用byType方式。

, IoC中支持的依赖注入有哪些类型?

有三种,分别是:

构造器注入

Setter注入

接口注入

十,spring有哪些注解?

问过!

什么鬼?

@Controller

@Service

@Autowired

@Resource

@RequestMapping

十一,springMVC的执行流程?

1、 用户发送请求至前端控制器DispatcherServlet

2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、 DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5、 执行处理器(Controller,也叫后端控制器)。

6、 Controller执行完成返回ModelAndView

7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器

9、 ViewReslover解析后返回具体View

10、           DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

11、           DispatcherServlet响应用户

 

PS:这一段copy过来的.要讲得很6哦

注意:理解了这个,另外一个问题, spring-mvc是怎么配置的,也不是问题,如果你没理解的话,最好是花一点时间去理解一下

十二,  讲下SpringMvc和Struts2的比较的优势

性能上SpringMVC比Struts2高.速度上差不多.

Copy一段:

      

今天晚上就写这么多了,准备洗洗漱.后续各位看官有什么建议或者和作者意见不同的地方,欢迎加入QQ群:244284555和我交流,谢谢

猜你喜欢

转载自blog.csdn.net/qq_28524127/article/details/80153609
今日推荐