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 面试题的更多相关文章

  1. 互联网大厂Java面试题集—Spring boot面试题(一)

    Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...

  2. Spring Boot面试题

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...

  3. 吐血整理 20 道 Spring Boot 面试题,我经常拿来面试别人!

    面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...

  4. 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!

    面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总结 ...

  5. 20 道 Spring Boot 面试题

    转自:微信公众号:Java技术栈(id: javastack) 面试了一些人,简历上都说自己熟悉 Spring Boot, 或者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段 ...

  6. 【转】20道Spring Boot面试题

    面试了少量人,简历上都说自己熟习 Spring Boot, 或者者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总 ...

  7. 20道spring boot面试题

    面试了少量人,简历上都说自己熟习 Spring Boot, 或者者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总 ...

  8. Spring Boot 面试题总结

    1.什么是spring boot 答案:springboot是用来简化spring应用的初始搭建和开发过程,使用特定的配置文件来配置,例如application.properties,简化来maven ...

  9. spring boot 面试题详解

    1.什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的T ...

随机推荐

  1. C# 获取版本号

    Text = Text + " [V." + Assembly.GetExecutingAssembly().GetName().Version + "]";

  2. ssh 连接不上报Connection closed by remote host

    解决办法 (1)查看这两个文件是否有阻止cat /etc/hosts.deny cat /etc/hosts.allow (2)客户端连接数过多修改/etc/ssh/sshd_config中#MaxS ...

  3. codeforces 1110F

    题解: 正解做法比较简单,考虑离线之后,相邻两个节点之间的答案是有关系的 发现从父亲移到儿子后,改变的距离对于当前节点子树内和子树外的是一样的 所以线段树维护一下区间加减取max就可以了 另外的做法1 ...

  4. java servlet简述

    概述 servlet就相当于一个java小程序,其作用主要是为了接收并响应客户端的请求 入门 1.新建工程并新建个类 2.重写servlet的方法(重要的是service方法) 3.部署工程 a.在w ...

  5. 百度广告联盟api probuf协议对接

    百度的广告API使用的是不是通常的http协议,而是使用谷歌开源出来的probuf协议,具体介绍请参考:https://www.jianshu.com/p/b1f18240f0c7https://ww ...

  6. macof python攻击脚本

    #!/usr/bin/python import sys from scapy.all import * import time iface="eth0" if len(sys.a ...

  7. springboot添加多数据源连接池并配置Mybatis

    springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018  ...

  8. 解决win10 报错 git pull error: cannot open .git/FETCH_HEAD: Permission denied

    sh配置git 用户解决了 git config --list //查看当前的config配置 git config --global user.name "youruser" / ...

  9. 为什么在Python里推荐使用多进程而不是多线程?

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?   要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: 1. ...

  10. IIS 设置

    解决办法:1. 1).通过webconfig中增加模拟,加入管理员权限, <identity impersonate="true" userName="系统管理员& ...