Java面试题(主要分清区别!!!)

@RequestBody和@ResponseBody的区别?

@RequestBody:接收json或xml数据

@ResponseBody的:返回json或xml数据

@RestController和@Controller的区别?

@Controller:默认返回的是jsp页面

@RestController:返回的是一个json类型的数据,换句话来说也就是@Controller+@ResponseBody的效果

@AutoWired和@Resource的区别?

相同点:功能相同,都可以用来装配bean,都可以加在属性字段或setter方法上

不同点:@AutoWired是spring框架提供的,默认按照类型装配,@Resource是java自带的(jdk1.6版本开始支持的),默认根据名称装配,如果匹配不到,则继续使用根据类型装配

@Component和@Bean的区别?

@Component用在类上,通过类路径扫描自动侦探以及自动装配到spring容器中

@Bean用在方法上

@Bean比@Component注解的自定义性更强,而且很多地方我们只能通过@Bean注解来注册bean,比如当我们引用第三方库中的类需要装配到spring容器中,则只能通过bean来实现

@Component,@Controller,@Repository,@Service有何区别?

@Component 将java类标记为bean

@Controller 标记当前类为Spring Web MVC控制器

@Repository 标记当前类为DAO层

@Service 标记当前类为service层

BeanFactory和FactoryBan的区别?

BeanFactory是一个工厂,IOC的顶级接口,用来管理和获取bean对象

FactoryBan是一个bean的生成工具,是用来获取一种类型对象的bean,它是构造bean实例的一种方式

Session和Cookie的区别?

都是跟踪会话技术

Cookie存储在浏览器或本地,不是很安全

Session存在服务器上,安全

mybatis和hibernate的区别?

mybatis不完全是一个ORM的框架,因为它需要程序员自己编写sql语句,可以严格控制sql的执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发

hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求较高的软件,如果用hibernate开发可以节省很多代码,提高效率

返回selectList或selectOne有什么区别?

根据mapper接口的返回值决定的

如果返回的是单个对象则调用selectOne()方法,如果是一个list集合则返回selectList()方法

mybatis中,#{}和${}的区别?

#{} 占位符,使用#{}的语法格式会导致mybatis创建perparedStatement参数并安全的设置参数

${} 连接符,不对参数做任何解析,直接拼接sql语句,相对于statement有sql注入风险,一般需要使用group by、order by 必须使用列名时才使用

一级缓存和二级缓存的区别?

一级缓存:mybatis默认开启,是一个sqlSession的范围(从创建---销毁),执行commit清空一级缓存

二级缓存:手动开始,一个namespace的范围共享sqlSession,执行commit清空二级缓存

Filter和Servlet的区别?

都是javaWeb的三大组件、单例的、在web.xml或者通过注解配置

区别:

Filter 在服务器启动时初始化,拦截和过滤请求

Servlet 在第一次访问servlet时初始化,转发请求和完成相应

相关推荐
Am心若依旧40915 分钟前
[c++11(二)]Lambda表达式和Function包装器及bind函数
开发语言·c++
明月看潮生17 分钟前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
Yan.love24 分钟前
开发场景中Java 集合的最佳选择
java·数据结构·链表
椰椰椰耶27 分钟前
【文档搜索引擎】搜索模块的完整实现
java·搜索引擎
大G哥27 分钟前
java提高正则处理效率
java·开发语言
VBA633737 分钟前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~39 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳1 小时前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it1 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
智慧老师1 小时前
Spring基础分析13-Spring Security框架
java·后端·spring