SpringBoot

1、谈谈你对SpringBoot的理解?

是一站式解决方案,简化了Spring繁琐的配置,提供了各种启动器,让开发者更好上手。

2、为什么使用SpringBoot,它有什么优点?
  • 版本锁定: 解决maven依赖版本冲突问题

  • 起步依赖: 解决jar过多问题

  • 自动配置: 解决配置文件过多问题

  • 内置tomcat: 通过内置tomcat,不需要其他外置tomcat,也能运行javaEE。

3、SpringBoot和SpringCloud的区别?

SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架,SpringCloud依赖于SpringBoot。

4、SpringBoot核心配置文件有哪些?作用是什么?

applicationbootstrap 配置文件。 application: 用于项目的自动化配置。 bootstrap: 一些不能被覆盖的属性和加密或解密的场景。比application要先加载。

5、SpringBoot自动装配原理?

SpringBoot的自动配置原理基于@SpringBootApplication注解,它封装了@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan@EnableAutoConfiguration是核心,它通过@Import导入配置选择器,读取META-INF/spring.factories文件中的类名,根据条件注解(@Conditional)决定是否将配置类中的Bean导入到Spring容器中。

6、SpringBoot常见的注解有哪些?

Spring Boot的常见注解包括:

  • @SpringBootApplication:由@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan组成。

  • 其他注解如@RestController@GetMapping@PostMapping等,用于简化Spring MVC的配置。

7、什么是热部署?SpringBoot怎么实现热部署?

热部署: 修改代码不需要重启,就可以实现编译并部署到服务器上。(1)在开发时修改代码不需要重启服务,节省了时间。(2)部署在服务器上的程序,可以在不停止的情况下进行升级。 ①使用devtools。在配置文件中把devtools.restart.enabled 设置为 true。每次都需要build一下才行。 ②idea设置实现热部署。

8、SpringBoot全局异常处理?

@ControllerAdvice:开启了全局异常的捕获。然后自定义一个方法使用@ExceptionHandler注解然后定义捕获异常的类型即可对这些捕获的异常进行统一的处理。

复制代码
@ControllerAdvice
public class ExceptionUtil{
​
    @ExceptionHandler(value =Exception.class)
    @ResponseBody
    public String exceptionHandler(Exception e){
        System.out.println("全局异常捕获:"+e);
        return "全局异常捕获,错误原因:"+e.getMessage();
    }
}
相关推荐
白鸽(二般)3 小时前
MinIO Java Client API
java·开发语言
软萌萌的13 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
IT小盘4 小时前
13-企业Prompt模板-角色任务约束与输出格式
java·前端·prompt
爱敲键盘的猴子4 小时前
Java并发编程 -- volatile
java·java并发
plainGeekDev6 小时前
工厂模式 → Hilt
android·java·kotlin
plainGeekDev6 小时前
Application 单例 → Hilt Singleton
android·java·kotlin
888CC++6 小时前
C语言与C++的区别:从面向过程到面向对象
java·c语言·c++
学者猫头鹰7 小时前
分布式事务实战教程
java·分布式
heimeiyingwang8 小时前
【架构实战】Kubernetes调度器深度剖析:从Pod调度到自定义调度器
java·架构·kubernetes
纳兰青华9 小时前
回文侦探:三种境界破解最长回文子串
java·算法·动态规划