Skip to content

Spring Boot 核心知识点总结

面试题 SpringBoot

Spring Boot 核心功能

1、独立运行 Spring 项目

Spring boot 可以以 jar 包形式独立运行,运行一个 Spring Boot 项目只需要通过 java -jar xx.jar 来运行。

2、内嵌 servlet 容器

Spring Boot 可以选择内嵌 Tomcat、jetty 或者 Undertow,这样无须以 war 包形式部署项目。

3、提供 starter 简化 Maven 配置

spring 提供了一系列的 start pom 来简化 Maven 的依赖加载,例如,当你使用了 spring-boot-starter-web,会自动加入依赖包。

4、自动装配 Spring

SpringBoot 会根据在类路径中的 jar 包,类、为 jar 包里面的类自动配置 Bean,这样会极大地减少要使用的配置。当然,SpringBoot 只考虑大多数的开发场景,并不是所有的场景,若在实际开发中需要配置 Bean,而 SpringBoot 没有提供支持,则可以自定义自动配置。

5、准生产的应用监控

SpringBoot 提供基于 http ssh telnet 对运行时的项目进行监控。

6、无代码生产和 xml 配置

SpringBoot 不是借助与代码生成来实现的,而是通过条件注解来实现的,这是 Spring4.x 提供的新特性。

Spring Boot 优缺点

优点:

  • 快速构建项目。
  • 对主流开发框架的无配置集成。
  • 项目可独立运行,无须外部依赖 Servlet 容器。
    -提供运行时的应用监控。
  • 极大的提高了开发、部署效率。
  • 与云计算的天然集成。

缺点:

  • 如果不认同 spring 框架,也许这就是缺点。

Spring Boot 特性

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

Spring Boot CLI

SpringBoot CLI 是 SpringBoot 提供的控制台命令工具。

Spring Boot maven 构建项目

spring-boot-starter-parent:是一个特殊 Start,它用来提供相关的 Maven 依赖项,使用它之后,常用的包依赖可以省去 version 标签。

Spring Boot 几个常用的注解

(1)@RestController@Controller 指定一个类,作为控制器的注解 ,并说明其区别

(2)@RequestMapping 方法级别的映射注解,这一个用过 Spring MVC 的小伙伴相信都很熟悉

(3)@EnableAutoConfiguration@SpringBootApplication 是类级别的注解,根据 maven 依赖的 jar 来自动猜测完成正确的 spring 的对应配置,只要引入了 spring-boot-starter-web 的依赖,默认会自动配置 Spring MVC 和 tomcat 容器

(4)@Configuration 类级别的注解,一般这个注解,用来标识 main 方法所在的类,完成元数据 bean 的初始化。

(5)@ComponentScan 类级别的注解,自动扫描加载所有的 Spring 组件包括 Bean 注入,一般用在 main 方法所在的类上

(6)@ImportResource类级别注解,当必须使用一个 xml 的配置时,使用 @ImportResource@Configuration 来标识这个文件资源的类。

(7)@Autowired注解,一般结合 @ComponentScan 注解,来自动注入一个 Service 或 Dao 级别的 Bean

(8)@Component 类级别注解,用来标识一个组件,比如自定了一个 filter,则需要此注解标识之后,Spring Boot 才会正确识别。

SpringBoot 是如何管理事务的?直接写 @transactional 注解就行,在方法就是方法事务,类上就是类事务。

更新: 2021-09-07 10:29:18
原文: <https://www.yuque.com/fcant/notes/mtpfn6&gt;

最近更新