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天前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
31 0
|
21天前
|
缓存 Java 关系型数据库
2025 年最新华为 Java 面试题及答案,全方位打造面试宝典
Java面试高频考点与实践指南(150字摘要) 本文系统梳理了Java面试核心考点,包括Java基础(数据类型、面向对象特性、常用类使用)、并发编程(线程机制、锁原理、并发容器)、JVM(内存模型、GC算法、类加载机制)、Spring框架(IoC/AOP、Bean生命周期、事务管理)、数据库(MySQL引擎、事务隔离、索引优化)及分布式(CAP理论、ID生成、Redis缓存)。同时提供华为级实战代码,涵盖Spring Cloud Alibaba微服务、Sentinel限流、Seata分布式事务,以及完整的D
49 0
|
6天前
|
Java 数据库连接 API
Java 8 + 特性及 Spring Boot 与 Hibernate 等最新技术的实操内容详解
本内容涵盖Java 8+核心语法、Spring Boot与Hibernate实操,按考试考点分类整理,含技术详解与代码示例,助力掌握最新Java技术与应用。
22 2
|
22天前
|
算法 架构师 Java
Java 开发岗及 java 架构师百度校招历年经典面试题汇总
以下是百度校招Java岗位面试题精选摘要(150字): Java开发岗重点关注集合类、并发和系统设计。HashMap线程安全可通过Collections.synchronizedMap()或ConcurrentHashMap实现,后者采用分段锁提升并发性能。负载均衡算法包括轮询、加权轮询和最少连接数,一致性哈希可均匀分布请求。Redis持久化有RDB(快照恢复快)和AOF(日志更安全)两种方式。架构师岗涉及JMM内存模型、happens-before原则和无锁数据结构(基于CAS)。
34 5
|
25天前
|
Java API 微服务
2025 年 Java 校招面试全攻略:从面试心得看 Java 岗位求职技巧
《2025年Java校招最新技术要点与实操指南》 本文梳理了2025年Java校招的核心技术栈,并提供了可直接运行的代码实例。重点技术包括: Java 17+新特性(Record类、Sealed类等) Spring Boot 3+WebFlux响应式编程 微服务架构与Spring Cloud组件 Docker容器化部署 Redis缓存集成 OpenAI API调用 通过实际代码演示了如何应用这些技术,如Java 17的Record类简化POJO、WebFlux构建响应式API、Docker容器化部署。
50 5
|
27天前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
90 6
|
22天前
|
安全 Java API
2025 年 Java 校招面试常见问题及详细答案汇总
本资料涵盖Java校招常见面试题,包括Java基础、并发编程、JVM、Spring框架、分布式与微服务等核心知识点,并提供详细解析与实操代码,助力2025校招备战。
62 1
|
22天前
|
算法 Java 微服务
2025 年 Java 面试宝典社招春招秋招实操全方位攻略
2025年Java面试宝典涵盖核心技术及最新趋势,分为四大板块:1. Java基础:深入数据类型、多态等特性,结合学生信息管理等实例;2. JVM核心:解析内存模型与GC算法,附多线程转账等场景应用;3. 高并发方案:详解synchronized与线程池配置,提供Web服务器优化案例;4. Spring生态:剖析IoC/AOP原理,演示微服务架构实现。特别新增Java 17+特性实操,包括Record类、密封接口等语法糖,整合Spring Boot 3、响应式编程及云原生技术,通过订单状态机、API网关配置。
77 1
|
24天前
|
Java 数据库连接 API
Java 对象模型现代化实践 基于 Spring Boot 与 MyBatis Plus 的实现方案深度解析
本文介绍了基于Spring Boot与MyBatis-Plus的Java对象模型现代化实践方案。采用Spring Boot 3.1.2作为基础框架,结合MyBatis-Plus 3.5.3.1进行数据访问层实现,使用Lombok简化PO对象,MapStruct处理对象转换。文章详细讲解了数据库设计、PO对象实现、DAO层构建、业务逻辑封装以及DTO/VO转换等核心环节,提供了一个完整的现代化Java对象模型实现案例。通过分层设计和对象转换,实现了业务逻辑与数据访问的解耦,提高了代码的可维护性和扩展性。
58 1
|
24天前
|
缓存 算法 NoSQL
校招 Java 面试高频常见知识点深度解析与实战案例详细分享
《2025校招Java面试核心指南》总结了Java技术栈的最新考点,涵盖基础语法、并发编程和云原生技术三大维度: 现代Java特性:重点解析Java 17密封类、Record类型及响应式Stream API,通过电商案例演示函数式数据处理 并发革命:对比传统线程池与Java 21虚拟线程,详解Reactor模式在秒杀系统中的应用及背压机制 云原生实践:提供Spring Boot容器化部署方案,分析Spring WebFlux响应式编程和Redis Cluster缓存策略。
32 0