Java面试准备-SpringBoot

简介: Java面试准备-SpringBoot

为什么要用SpringBoot


独立运行:SpringBoot内嵌了Servlet容器,如Tomcat、Jetty等,现在不需要打成War包再丢到容器里面进行运行,SpringBoot只需要打成一个Jar包,所有的依赖包都在这个里面,可以同构命令直接运行。

简化配置:spring-boot-starter-web 启动器自动依赖其他组件,减少maven配置。

自动配置:SpringBoot能够根据当前类路径下的类、jar包来自动配置Bean

无代码生成和XML配置:SpringBoot配置过程中无需代码生成、也不需要配置相关的XML,这一切都是基于条件注解来完成的。

应用监控:SpringBoot 提供一些列端点可以监控服务及应用,做健康检查。


SpringBoot核心注解是哪些,是由什么组成的


启动类上面有 @SpringBootApplication ,包含一下三个注解

@SpringBootConfiguration ,组合了@Configuration,实现配置文件功能

@EnableAutoConfiguration ,打开自动配置注解,可以关闭某些源,如 DataSource。

@ComponentScan,Spring组件扫描。


运行Spring Boot有哪几种方式?


打包用命令或者放到容器中执行

用Maven、Gradle 插件云行

直接执行Main方法云行


如何理解SpringBoot当中的starters


starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,如果你想集成JPA,只要加入spring-boot-starter-data-jpa 启动器依赖就可以了,starter里面包含了许多其他依赖,它们能够快速持续的云行,都是一些管理传递依赖。

SpringBoot官方命名:以spring-boot-starter-XXX

非官方命名:XX-spring-boot-starter


如何在SpringBoot启动的时候运行一些特定代码


需要实现接口 ApplicationRunner


SpringBoot需要独立的容器运行吗


可以不需要,内置Tomcat、Jetty等容器

如何使用SpringBoot实现热部署

Spring Loaded

Spring-Boot-Devtools


如何理解SpringBoot配置加载顺序的


properties文件

yml文件

系统环境变量

命令参数


SpringBoot 核心配置有哪些


核心配置就是 application 和 bootstrap 配置文件

application 主要用于SpringBoot自动配置

bootstrap有一下一些应用场景

使用配置中心时,这个时候需要在bootstrap配置配置中心地址等参数

一些固定不能被覆盖的属性

一些加密解密的场景


SpringBoot 如何实现自动装配的


Starter做为基础,比如我们添加一个 spring-boot-starter-data-redis ,就可以进行使用,这就是SpringBoot的自动装配机制。

我们没用通过XML或者注解的形式把 RedisTemplate 注入到IOC容器当中去,但是依然可以进行使用。

@SpringBootApplication 下面的三个注解:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan

@EnableAutoConfiguration -> @AutoConfigurationPackage -> ImportSelector 来实现批量自动装配

@ConfigurationProperties 会把配置文件读取到 ServerProperties 中。

相关文章
|
4天前
|
存储 缓存 网络协议
复盘女朋友面试4个月的Java基础题
这篇文章是关于Java基础面试题的复盘,涵盖了HashMap原理、对象序列化作用等高频面试问题,并强调了Java基础知识的重要性。
复盘女朋友面试4个月的Java基础题
|
1天前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
|
5天前
|
Java
Java SpringBoot 7z 压缩、解压
Java SpringBoot 7z 压缩、解压
15 1
|
5天前
|
Java API 开发者
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
JDK8到JDK17版本升级的新特性问题之SpringBoot选择JDK17作为最小支持的Java lts版本意味着什么
|
5天前
|
NoSQL Java 数据库
2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]
这篇文章是一份详尽的Java面试题总结,涵盖了从面向对象基础到分布式系统设计的多个知识点,适合用来准备Java技术面试。
|
5天前
|
Java 知识图谱
知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Java SpringBoot 操作 Neo4j
知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Java SpringBoot 操作 Neo4j
11 0
|
5天前
|
算法 关系型数据库 MySQL
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这篇文章是关于MySQL的面试题总结,包括索引结构的优劣、索引设计原则、MySQL锁的类型、执行计划的解读以及事务的基本特性和隔离级别。
|
5天前
|
Java 测试技术 Spring
Java SpringBoot 加载 yml 配置文件中字典项
Java SpringBoot 加载 yml 配置文件中字典项
10 0
|
5天前
|
Java Spring 容器
Java SpringBoot 中,动态执行 bean 对象中的方法
Java SpringBoot 中,动态执行 bean 对象中的方法
14 0
|
5天前
|
前端开发 Java
如何实现 Java SpringBoot 自动验证入参数据的有效性
如何实现 Java SpringBoot 自动验证入参数据的有效性
14 0