Spring Boot 面试题
1、列举一些SpringBoot特性
- 1、创建独立的Spring项目
- 2、内置Tomcat和Jetty容器
- 3、提供一个starter POMs来简化Maven配置
- 4、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
- 5、完全没有代码生成和xml配置文件
2、有什么常用的Spring Boot启动器?
spring-boot-starter: 核心启动器,包括自动配置支持,日志记录和YAML
spring-boot-starter-aop: 使用Spring AOP和AspectJ进行面向方面编程的启动器
spring-boot-starter-data-jpa: 使用Spring Data JPA和Hibernate的启动器
spring-boot-starter-jdbc: 用于将JDBC与HikariCP连接池一起使用的启动器
spring-boot-starter-security: 使用Spring Security的启动器
spring-boot-starter-test: 用于测试Spring Boot应用程序的启动器
spring-boot-starter-web: 用于构建Web的入门者,包括使用Spring MVC的RESTful应用程序
3、application.properties中如何引用已定义的配置参数?
使用${},比如:
book.name = XXX
book.desc = ${book.name} 's desc
4、spring boot Devtools有什么作用?
https://blog.csdn.net/isea533/article/details/70495714
5、Spring Boot Actuator有什么作用?
监控和管理Spring Boot应用,比如Mappring、健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。
6、RequestMapping 和 GetMapping 的不同之处在哪里?
RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。
GetMapping 是 GET 请求方法中的一个特例。它只是 ResquestMapping 的一个延伸,目的是为了提高清晰度。
7、@ConfigurationProperties 注解的作用
将配置属性注入到bean
类似如下:
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String firstName;
}
application.properties属性:
person.firstName = XXX
8、@value和@configurationproperties的区别
https://www.cnblogs.com/slowcity/p/9097969.html
9、Spring Boot 如何定义多套不同环境配置?
提供多套配置文件,如:
applcation.properties
application-dev.properties
application-test.properties
application-prod.properties
祥见:https://mp.weixin.qq.com/s/K0kdQwoo2t5FDsTUJttSAA
10、@responsebody有什么作用?
@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用。
11、@Controller 和 @RestController有什么区别?
@RestController 是Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。而@Controller是用来创建处理http请求的对象,一般结合@RequestMapping使用。
12、@Component和@Bean有什么区别? (答案还不是特别确信)
@Component被用在要被自动扫描和装配的类上。@Component类中使用方法或字段时不会使用CGLIB增强(及不使用代理类:调用任何方法,使用任何变量,拿到的是原始对象)Spring 注解@Component等效于@Service,@Controller,@Repository
@Bean主要被用在方法上,来显式声明要用生成的类;用@Configuration注解该类,用@Bean标注方法等价于XML中配置bean。
现在项目上,本工程中的类,一般都使用@Component来生成bean。在把通过web service取得的类,生成Bean时,使用@Bean和getter方法来生成bean
13、有什么springboot的安全方面的实践?
见
https://mp.weixin.qq.com/s/HG4_StZyNCoWx02mUVCs1g
14、如何使用@Async?
现在启动类@SpringBootApplication后面加入@EnableAsync,定义@Component类中的异步任务方法,其中注解@Async,方法返回void或者Future<T>,调用方法即平常的@Autowired实例化即可。
15、springboot如何开启定时任务?
定义启动类@EnableScheduling,然后在任务类使用cron表达式来定义任务时间,比如@Scheduled(cron="/6 * * * * ?")代表每6秒一次,再如:“0 0 12 * * ?” 每天中午12点触发。
Spring Boot 面试题的更多相关文章
- 互联网大厂Java面试题集—Spring boot面试题(一)
Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...
- Spring Boot面试题
Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...
- 吐血整理 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...
- 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!
面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...
- 20 道 Spring Boot 面试题
转自:微信公众号:Java技术栈(id: javastack) 面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段 ...
- 【转】20道Spring Boot面试题
面试了少量人,简历上都说自己熟习 Spring Boot, 或者者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总 ...
- 20道spring boot面试题
面试了少量人,简历上都说自己熟习 Spring Boot, 或者者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总 ...
- Spring Boot 面试题总结
1.什么是spring boot 答案:springboot是用来简化spring应用的初始搭建和开发过程,使用特定的配置文件来配置,例如application.properties,简化来maven ...
- spring boot 面试题详解
1.什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的T ...
随机推荐
- Ionic2生成的main.js执行时间10s+
写个随笔记录下. 经过一周多各种莫名其妙的研究与分析,然后在论坛中大神给一个命令完美解决之. ionic build android --prod --release
- ubuntu下 将证书导入java的cacerts证书库
首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts 主要的步骤有4个: 生成证书 导出证书 导入证书 生成证书(此处CN的值为localhost或者你想设置的 ...
- C++11 带来的新特性 (3)—— 关键字noexcept
1 关键字noexcept 从C++11开始,我们能看到很多代码当中都有关键字noexcept.比如下面就是std::initializer_list的默认构造函数,其中使用了noexcept. co ...
- html_Dom
Document: 每个载入浏览器的HTML文档都会成为一个Document对象. Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问. 并且Document 对象是 Wi ...
- pwn学习之三
whctf2017的一道pwn题sandbox,这道题提供了两个可执行文件加一个libc,两个可执行文件是一个vuln,一个sandbox,这是一道通过沙盒去保护vuln不被攻击的题目. 用ida打开 ...
- notes for lxf(三)
纯函数式编程是没有变量的,只要输入确定输出就确定 指高度抽象的编程范式 特点 函数本身可以作为参数传入 或者允许返回一个函数 Higher-order function 一个函数可以接收另一个函数作为 ...
- python可视化库 Matplotlib 01 figure的详细用法
1.上一章绘制一幅最简单的图像,这一章介绍figure的详细用法,figure用于生成图像窗口的方法,并可以设置一些参数 2.先看此次生成的图像: 3.代码(代码中有详细的注释) # -*- enco ...
- C++类第五课:类的使用(三)[个人见解]
继承既然已经知道了是什么意思了,下面我们来学封装! 什么是封装?我们来举个例子: 1.你不能随意挥霍父母的血汗钱,血汗钱是作为他们的私有财产,而父母因为某些原因会主动给你,你才能用的舒心,否则父母不会 ...
- 微信跳转之WAP跳转微信公众号关注页面链接weixin://dl/business/?ticket=
本文整理了部分微信 URL Schemes,经过本人测试,所有url在微信 6.3.22 版本下都可正常工作.大家可以在 Safari 中打开链接进行尝试.(部分链接仅允许在微信内部浏览器中打开,已用 ...
- [LeetCode] Masking Personal Information 给个人信息打码
We are given a personal information string S, which may represent either an email address or a phone ...