利剑无意之JAVA面试题(三)
- SpringMvc中,控制器中的处理方法的返回值有哪些?
返回值可以有很多类型,有String, ModelAndView。ModelAndView类把视图和数据都合并的一起的,但一般用String比较好。
- springmvc中,如果前台有很多个参数传入并且这些参数都是一个对象的那么怎么样快速得到这个对象?
直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面。
- SpringMVC的控制器是不是单例模式如果是有什么问题怎么解决?
是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。
- Spring MVC的主要组件?
(1)前端控制器 DispatcherServlet
作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
(2)处理器映射器HandlerMapping
作用:根据请求的URL来查找Handler。
(3)处理器适配器HandlerAdapter
注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
(4)处理器Handler。
(5)视图解析器 ViewResolver。
- SpringMvc中如何实现自定义拦截器及使用?
有两种写法,一种是实现接口,另外一种是继承适配器类,然后在SpringMvc的配置文件中配置拦截器即可:
<!-- 配置SpringMvc的拦截器 -->
<mvc:interceptors>
<!-- 配置一个拦截器的Bean就可以了 默认是对所有请求都拦截 -->
<bean id="myInterceptor" class="com.MyHandlerInterceptor"></bean>
<!-- 只针对部分请求拦截 -->
<mvc:interceptor>
<mvc:mapping path="/modelMap.do" />
<bean class="com.MyHandlerInterceptorAdapter" />
</mvc:interceptor>
</mvc:interceptors>
*************************************
实现HandlerInterceptor接口
preHandle在控制器执行之前执行,最后只能返回true才能进入控制器方法。
postHandle在控制器执行完成后才执行,但方法执行条件为priHandle方法返回true的时候
afterCompletion整个请求中最后才执行的方法,也就是DispatherServlet渲染了对应的视图之后执行。执行的前提条件是preHandle方法返回值为true
- SpringMVC怎么和前端AJAX交互的?
通过 jackson 框架就可以把 java 里面的对象直接转化成 js 可以识别的 json 对象具体步骤如下 :
1.加入jackson相关依赖
2.在接受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上@ResponseBody注解
- Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,
主要组合包含了以下 3 个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。
- Spring Boot. Spring MVC和Spring有什么区别?
Spring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。当使用 DI 或者是 IOC 的时候,可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。
Spring MVC 提供了一种分离式的方法来开发 Web 应用。通过运用像DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发Web 应用将会变的非常简单。Spring 和 SpringMVC 的问题在于需要配置大量的参数。
Spring Boot 通过一个自动配置和启动的项来目解决这个问题。为了更快的构建产品就绪应用程序,Spring Boot 提供了一些非功能性特征。
- 什么是Spring Boot Stater ?
启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。
- springboot基于java配置的方式整合mybatis的过程?
创建maven项目
补全项目文件夹
添加Maven依赖
继承springboot父项目
添加mybatis启动器
创建实体类
创建Dao层接口
mybatis映射文件
mybatis配置文件
创建配置类定义数据源Bean和定义SqlSessionFactoryBean
创建配置类定义Bean扫描DAO层接口
application.yml中添加相关配置信息
利剑无意之JAVA面试题(三)相关推荐
- 利剑无意之JAVA面试题(一)
mybatis中ResultMap和ResultType的差别? 两者都是表示查询结果集与java对象之间的一种关系,处理查询结果集映射到java对象. resultMap:表示将查询结果集中的列一一 ...
- 利剑无意之JAVA面试题(二)
Spring的AOP理解? AOP,一般称为面向切面,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为"切 ...
- 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016
记录一个咸鱼大学生三个月的奋进生活016 复习Java(学生信息管理系统04权限管理和动态挂菜单功能) 改写MainFrame的构造方法 新增LoginFrame的验证登录是否成功的代码 新增Logi ...
- 利剑无意之Dubbo 面试题
dubbo是什么 dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含:集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群 ...
- java 面试题三十二 mysql查询面试题
题一: 新建学生-课程数据库的三个表: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) Sno为主码; 课程表:Course(Cno,Cname,Cpno,Credeit ...
- java面试题三十 public,private,protected,default访问权限
1 考题描述: 2 答案 BD 3解析 B. no modifer既为default也就是friendly 3.1 public,private,protected,default访问权限图 3.2证 ...
- java面试题三_最全的java面试题目三
78.什么情况下调用doGet()和doPost()?答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost().79.servlet的生命周期答 ...
- java 面试题三十三 子类父类方法执行顺序的问题
. 判断以下Teacher类的main方法的运行结果(B) public class Teacher extends Person { public Teacher () { super(); } p ...
- java面试题三十一
最新文章
- 你的电池再充几次电就报废?机器学习帮你预测电池寿命
- apache synapse使用(1)
- java new url 带密码_获取密码重置URL
- ANT 运行jar包的中文乱码问题
- 复杂XML的解析及组装
- Java自动生成增量补丁自动部署_java-Hibernate正在为表生成自动增量交替ID
- mysql主从同步忽略一条错误_mysql主从同步出现异常语句跳过错误处理
- 下一个十年,互联网升级的大致方向在哪里?
- 怎样判断ajax请求,如何判断一个请求为ajax请求?
- html里怎么引用php代码,如何实现在html引用php代码,不是简单的?php ?
- MTK Pump Express 快速充电原理分析
- Elasticsearch和Kibana版本对应关系
- qgc地面站如何导入离线地图_离线地图
- Shell按关键字删除重复行
- mysql router docker_MySQL Route负载均衡与读写分离Docker环境使用
- Python实例---爬取下载喜马拉雅音频文件
- 神州云服务平台(型号:DCC-CRL1000)基本配置教学视频
- C# 中的委托和事件1
- 蓝桥杯单片机关闭蜂鸣器、继电器LED及数码管
- 双十一音响不推荐之sonos
热门文章
- 2021牛客多校4 - Tree Xor(线段树+异或区间拆分)
- PAT (Basic Level) 1050 螺旋矩阵(模拟)
- linux PHP ppt 转图片,linux下用php将doc、ppt转图片
- java ee500错误_无法访问页面,500错误
- POJ3130(还是判断多边形的内核是否存在)
- gh0st支持win7和win8
- Win32多线程编程(2) — 线程控制
- C++ 类和对象(二):构造函数、析构函数、拷贝构造函数、运算符重载
- python 爬取今日头条热点新闻
- C++Template 模版的本质