Spring Boot 面试题

一、列举一些SpringBoot特性html

  • 一、建立独立的Spring项目
  • 二、内置Tomcat和Jetty容器
  • 三、提供一个starter POMs来简化Maven配置
  • 四、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
  • 五、彻底没有代码生成和xml配置文件

二、有什么经常使用的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应用程序web

三、application.properties中如何引用已定义的配置参数?
使用${},好比:
book.name = XXX
book.desc = ${book.name} 's descspring

四、spring boot Devtools有什么做用?
https://blog.csdn.net/isea533/article/details/70495714编程

五、Spring Boot Actuator有什么做用?
监控和管理Spring Boot应用,好比Mappring、健康检查、审计、统计和HTTP追踪等。全部的这些特性能够经过JMX或者HTTP endpoints来得到。json

六、RequestMapping 和 GetMapping 的不一样之处在哪里?
RequestMapping 具备类属性的,能够进行 GET,POST,PUT 或者其它的注释中具备的请求方法。
GetMapping 是 GET 请求方法中的一个特例。它只是 ResquestMapping 的一个延伸,目的是为了提升清晰度。安全

七、@ConfigurationProperties 注解的做用
将配置属性注入到bean
相似以下:
@Component
@ConfigurationProperties(prefix = "person")
public class Person {springboot

private String firstName;app

} 异步

application.properties属性:
person.firstName = XXXspring-boot

八、@value和@configurationproperties的区别
https://www.cnblogs.com/slowcity/p/9097969.html

九、Spring Boot 如何定义多套不一样环境配置?
提供多套配置文件,如:

applcation.properties
application-dev.properties
application-test.properties
application-prod.properties
祥见:https://mp.weixin.qq.com/s/K0kdQwoo2t5FDsTUJttSAA

十、@responsebody有什么做用?
@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。好比异步获取json数据,加上@responsebody后,会直接返回json数据。该注解通常会配合@RequestMapping一块儿使用。

十一、@Controller 和 @RestController有什么区别?
@RestController 是Spring4以后加入的注解,原来在@Controller中返回json须要@ResponseBody来配合,若是直接用@RestController替代@Controller就不须要再配置@ResponseBody,默认返回json格式。而@Controller是用来建立处理http请求的对象,通常结合@RequestMapping使用。


十二、@Component和@Bean有什么区别? (答案还不是特别确信)
@Component被用在要被自动扫描和装配的类上。@Component类中使用方法或字段时不会使用CGLIB加强(及不使用代理类:调用任何方法,使用任何变量,拿到的是原始对象)Spring 注解@Component等效于@Service,@Controller,@Repository
@Bean主要被用在方法上,来显式声明要用生成的类;用@Configuration注解该类,用@Bean标注方法等价于XML中配置bean。

如今项目上,本工程中的类,通常都使用@Component来生成bean。在把经过web service取得的类,生成Bean时,使用@Bean和getter方法来生成bean


1三、有什么springboot的安全方面的实践?

https://mp.weixin.qq.com/s/HG4_StZyNCoWx02mUVCs1g

1四、如何使用@Async?
如今启动类@SpringBootApplication后面加入@EnableAsync,定义@Component类中的异步任务方法,其中注解@Async,方法返回void或者Future<T>,调用方法即日常的@Autowired实例化便可。

1五、springboot如何开启定时任务?定义启动类@EnableScheduling,而后在任务类使用cron表达式来定义任务时间,好比@Scheduled(cron="/6 * * * * ?")表明每6秒一次,再如:“0 0 12 * * ?” 天天中午12点触发。

相关文章
相关标签/搜索