《面试宝典》 2019年springboot面试高频题(java)
前言
2019年已经成为了过去,借此机会想好好总结一下2019年项目研发的成效,看看在项目从无到有,都经历了那些变化?取得了哪些成果?踩过哪些坑?一个人、一个研发团队要想有质的飞跃,必须善于反思过去,总结经验,只有这样才能精准的定位问题并制定有效的改进措施。
1、什么是 Spring Boot?
“Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
用过springboot的社友应该都知道,搭建一个完整的spring项目,我们得配置依赖,配置spring的xml。其中一大难点,就是jar包冲突的问题。
Spring Boot让我们更关注于业务逻辑的开发,大大的提高了我们的效率,是从事微服务开发必点的一个技能点。
2、Spring Boot有哪些优点?
避免大量的Maven导入和各种版本冲突
减少开发学习时间,支持各种技术的start。
提高内置的tomcat,可以直接运行。
Spring Boot使监控变得简单(actuator)
基于不同环境,使用对应的配置(dev,pro等等),再也不用像以前一样手动改配置咯。
注意:springboot对于我们开发是方便了不少,但是,建议,我们先学习spring后,再来使用springboot,因为springboot是从spring上衍生出来的,不然,在springboot的学习过程中,会有点懵,不知道为什么要这样配置,底层是怎么样实现的。
3、Spring Boot 的配置文件有哪几种格式?它们有什么区别?
.properties 和 .yml,它们的区别主要是书写格式不同,社长强烈推荐使用yml格式,有层次感,方面阅读。
4、什么是 Spring Boot Stater ?
Springboot方便的一个地方,就是内部封装了很多的Stater
列举一些常用的Stater
应用日志:spring-boot-starter-logging
快速web应用开发:spring-boot-starter-web
面向切面编程:spring-boot-starter-aop
集成rabbitMQ:spring-boot-starter-amqp
注意:集成过程中,springboot会默认一些配置,需要我们开发了解集成技术点的一些配置。
5.创建一个 Spring Boot Project 的最简单的方法是什么?
通过idea创建一个Spring Initializr项目,注意eclipse需要下载STS插件。
6.springboot项目可以通过哪几种方式运行?
1)打成jar包,通过java -jar jar包名运行
2) 打成war包,放入容器中运行,官网建议生产环境使用打成war包方式。
7.springboot如何实现热部署?
springboot默认是不默认启动热部署的,需要我们自己加入热部署的依赖,springboot有两个classloader存在,分工明确,一个辅助管理jar包,另外一个restartClassloader用来封装用户的代码,修改代码是会重启restartClassloader,当文件改动后,部分重启,所以重启效率相对于传统的ssm框架重启速度更快
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
8. Spring Boot 如何定义多套不同环境配置?
1)编写多个application.yml文件,以生产和本地为例子
application.yml
application-pro.yml
application-dev.yml
2)切换application.yml 里面对应的值
spring:
profiles:
active: dev
建议,通过分布式配置中心来进行管理,可以使用携程的apollo
9. Spring Boot 最核心的 3 个注解详解?
Springboot的一个入口就是main方法,我们可以观察到springboot项目的主类上必有一个@SpringBootApplication注解。实际上他等价于@Configuration,@EnableAutoConfiguration 和 @ComponentScan这三个注解的组合。
@Configuation:
加载Spring方法
配置spring并启动spring容器@EnableAutoConfiguration 注解:
点击这个注解,查看他的源码,发现他通过@import实现了@Import(AutoConfigurationImportSelector.class)
@ComponentScan:
描述表的扫描范围
公众号:程序猿学社
每周实时更新
《面试宝典》 2019年springboot面试高频题(java)的更多相关文章
- java面试宝典2019(好东西先留着)
java面试宝典2019 1.meta标签的作用是什么 2.ReenTrantLock可重入锁(和synchronized的区别)总结 3.Spring中的自动装配有哪些限制? 4.什么是可变参数? ...
- 2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季.那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情. 当然,不论选择 ...
- 2019年mybatils面试高频题(java)
前前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季. 那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情. 当然,不论 ...
- 2019春招面试高频题(Java版),持续更新(答案来自互联网)
第一模块--并发与多线程 Java多线程方法: 实现Runnable接口, 继承thread类, 使用线程池 操作系统层面的进程与线程(对JAVA多线程和高并发有了解吗?) 计算机资源=存储资源+计算 ...
- 2020Java程序员架构师面试宝典,学习后面试必过,震惊,本人通过这篇教程,拿到了0个offer
1. 引言 Java后端学习路线 <吐血整理>顶级程序员工具集 https://github.com/AobingJava/JavaFamily 跟上Java8 经历阿里.头条.腾讯等知名 ...
- 集合类--最详细的面试宝典--看这篇就够用了(java 1.8)
看了一个星期源码,搜索上百篇博文,终于总结出了集合类的所有基础知识点,学集合,看这篇就够用了!!! 篇幅有点长, 如果你能全部理解,java最重要的集合就不怕了,秒过面试!!!(本篇素材来自网络,如有 ...
- 【Java】Java程序员面试宝典(第三版)第5章----Java程序设计基本概念
1.static静态变量,在次级作用域也可以被修改. 2.k++ + k++.第一个自加实际上只有在与计算+k++时补增.详情P36的题目. 3.Java数据类型从低到高分为(byte short c ...
- Java面试宝典(2020版)
一.Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java ...
- 30页软件测试人面试宝典文档资料,助你拿下了百度、美团、字节跳动、小米等大厂的offer【内含答案】
前言:看了一下桌边的日历,新的6月,已经过去5天了.明天又是周六了,大家准备怎么度过呢?趁着大家周末给大家分享一个软件测试工程师面试题汇总. 拿到大厂的offer一直是软件测试朋友的一个目标,我是如何 ...
随机推荐
- java代码简单实现队列
1. 基于链表简单实现 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; / ...
- iOS如何才能在招聘中表现得靠谱?
http://www.cocoachina.com/programmer/20150707/12414.html 近一年内陆续面试了不少人了,从面试者到面试官的转变让我对 iOS 招聘有了更多的感受. ...
- linux之docker
简介 Docker是一个开源的应用容器引擎,基于go语言,遵循从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的linux ...
- python代码实现树莓派3b+驱动步进电机
python代码实现树莓派3b+驱动步进电机 之前买了个树莓派,刚买回来那会儿热情高涨,折腾了一段时间,然后就放那吃灰了.前几天忽然想起来这个东西了,决定再玩玩儿,于是就从某宝上购买了一套步进电机.驱 ...
- 设计模式 - 工厂模式(factory pattern) 具体解释
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/27081511 工厂模式(factory pa ...
- ashx不能折叠代码,没有智能提示
visual studio 2013有时候会遇到这个问题.没安装任何第三方插件,创建的是web网站项目.ashx文件忽然就没有intelligent智能提示了. 可以试试: 关闭visual stud ...
- php parse_url linux 解析问题
耕毅 解析url函数parse_url() (PHP 4, PHP 5, PHP 7) parse_url — 解析 URL,返回其组成部分 mixed parse_url ( string $url ...
- 在ORACLE存储过程中创建临时表
在ORACLE存储过程中创建临时表 存储过程里不能直接使用DDL语句,所以只能使用动态SQL语句来执行 --ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截 ...
- Android Studio(三):设置Android Studio编码
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- Tenka1 Programmer Beginner Contest D IntegerotS(补)
当时没做出来,官方题解没看懂,就看别人提交的代码,刚对着别人代码调了几组数据,才发现,思路差不多,不过,原来是这样实现啊,果然我还是很菜 思路:题目要求是选取的这些数字全部进行OR运算,结果<= ...