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 ...
随机推荐
- 【工具】Idea GenerateAllSetter
使用工具自动生成setter方法调用,不是idea原生态生成getter/setter https://github.com/gejun123456/intellij-generateAllSetMe ...
- 使用Nginx反向代理和内容替换模块实现网页内容动态替换功能
2016年11月21日 10:30:00 xian_02 阅读数:10943 Nginx是一款轻量级高性能服务器软件,虽然轻量,但功能非常强大,可用于提供WEB服务.反向代理.负载均衡.缓存服务. ...
- 打包github上的项目,并在本地使用
在GitHub上去找工具并把地址克隆下来 在本地创建一个文件夹,文件夹内右击 (建议路径为英文,并保证本机有github的软件: https://jingyan.baidu.com/article/9 ...
- Spark内核
一些名词概念 AM : ApplicationMaster RM : ResourceManager NM : NodeManager Backend : 后台 RpcEnv : RPC 进程和进程的 ...
- java PDF分页打印
将获取的pdf文件按页拆分:参考https://q.cnblogs.com/q/99944/ pdf文件有多页,第一页需设置横向打印,其他页设置为纵向打印. PDDocument document = ...
- CentOs查看某个字符串在某个目录下的行数
如果你想在当前目录下 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" ./ ./ : 表示路径为当前目录. ...
- OO Unit 2 电梯调度
目录 OO Unit2 博客作业 基于度量来分析⾃己的程序结构 复杂度分析 架构分析 改进和重构 发现过的BUG 简化问题 多线程初探 OO Unit2 博客作业 基于度量来分析⾃己的程序结构 自认为 ...
- 派多个订单给一个司机,拒单是同一订单id
问题:多次派单给一个司机,发现多个拒单请求是同一个订单id的. 原因:来单页面是SingleTask, 并且没有重写onNewIntent, 而倒计时结束拒单的时候会弹窗提示,只有点了确认按钮才会把当 ...
- 【C语言编程练习】7.2动态数列排列
1. 题目要求 编写这样一个C程序,实现这样的功能:从键盘输入任意个整数,以0作为结束标志,对于这个整数序列从小到大排序,并输出排序后结果 2. 题目分析 不得不说,我确实对这类问题毫无思路呢!应该也 ...
- python学习笔记(4)
.................................................................................................... ...