什么是 Spring Boot?
- 简化 Spring 应用程序开发的框架,通过自动配置、起步依赖和简化的配置方式,使开发人员能够更快速、方便地创建和配置 Spring 应用程序,提高开发效率和开发体验
- 目标是使开发人员能够更加快速、方便地创建和配置 Spring 应用程序,同时尽可能地减少样板代码和繁琐的配置。它通过自动配置、约定大于配置和起步依赖等特性,使得开发人员能够更专注于业务逻辑的实现,而不需要过多关注底层的配置细节。
起步依赖有哪些?
- 数据库(spring-boot-starter-jdbc):使用JDBC与Tomcat JDBC连接池的启动器
- 消息队列
- Web开发(spring-boot-starter-web):使用SpringMVC构建Web,包括RESTful应用程序,使用Tomcat作为默认的嵌入式容器的启动器
- JPA相关功能(spring-boot-starter-jpa):使用Spring JPA与Hibernate的启动器
SpringBoot是如何管理版本依赖?
springboot底层使用maven管理依赖,通过控制pom.xml完成细节配置,但在这当中没有发现有管版本的地方,注意看我们有spring-boot-starter-parent这个父pom
Spring Boot 有哪些特性?
自动配置 | 根据应用程序的依赖和配置,自动配置 Spring 应用程序的各种组件,如数据源、Web 容器等,减少了手动配置的工作量 |
起步依赖 | 提供了一系列预配置的依赖项,称为起步依赖(Starter Dependencies),可以快速集成常用的技术栈,如数据库、消息队列、Web 开发等 |
嵌入式容器 | 内置了多种嵌入式容器,如 Tomcat、Jetty 等,可以将应用程序打包成可执行的 JAR 文件,并直接运行,无需部署到外部容器 |
Actuator | 提供了对应用程序的监控和管理功能,包括健康检查、指标收集、配置信息等,方便运维和监控应用程序 |
简化的配置 | 提供了简化的配置方式,如 application.properties 或 application.yml 文件,可以集中管理应用程序的配置信息 |
Spring boot 相对 Spring有什么优势 ?
优势 | 含义 |
---|---|
可快速构建独立的Spring应用 | 根据需求选择对应的场景依赖,Spring Boot会自动添加该场景所需要的全部依赖并提供自动化配置,在无需额外手动添加配置的情况下可以快速构建出一个独立的Spring应用程序 |
嵌入Tomcat、Jetty和Undertow服务器(无需部署WAR文件) | 直接将项目打成JAR包的形式,项目内嵌了Tomcat、Jetty和Undertow服务器,因此在部署过程中减少了对第三方插件的依赖和管理 |
提供依赖启动器简化构建配置 | 在引入的依赖启动器“starter”内部已经包含了对应开发场景所需的依赖,并会自动下载和拉取相关JAR包,例如,在Web开发时,只需在构建项目时选择对应的Web场景依赖启动器spring-boot-starter-web,Spring Boot项目便会自动导入spring-webmvc、spring-web、spring-boot-starter-tomcat等子依赖,并自动下载和拉取Web开发需要的相关JAR包 |
自动化配置Spring和第三方库 | 提供的默认自动化配置类就会生效,开发者无需再手动进行配置文件的配置(除非开发者修改了相关默认配置,例如Redis地址、密码等),从而极大减少了开发人员的工作量,提高了程序的开发效率 |
提供监控应用 | 提供了一些用于生产环境运行时的特性,例如指标、健康检查和外部化配置 |
极少的代码生成和XML配置 | 在需要自定义配置的情况下,Spring Boot更加提倡使用Java config(Java配置类)替换传统的XML配置方式,这样更加方便查看和管理 |
Spring Boot 的核心注解是哪个?
核心注解:启动类上的@SpringBootApplication
注解 | 含义 |
---|---|
@SpringBootConfiguration | @SpringBootConfiguration里面就只有一个@Configuration主要注解,实现配置文件的功能 |
@EnableAutoConfiguration | 由 @AutoConfigurationPackage和@Import(EnableAutoConfigurationImportSelector.class)这两个组成的 打开自动配置的功能,帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot,并创建对应配置类的Bean,并把该Bean实体交给IoC容器进行管理 |
@ComponentScan | Spring组件扫描注解,默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中 |
什么是 JavaConfig?
用于配置 Java 应用程序的方式,它是 Spring 框架中的一种替代方案,用于替代传统的 XML 配置文件方式。
允许开发人员使用 Java 代码来定义和配置应用程序中的各种组件,包括 Bean 的定义、依赖关系、切面等。通过 JavaConfig,可以将应用程序的配置集中在一个或多个 Java 类中,使得配置更加可读、可维护,并且可以利用 Java 语言的特性进行编程。
JavaConfig 的优点?
类型安全 | JavaConfig 使用 Java 代码进行配置,可以在编译时进行类型检查,避免了在 XML 配置文件中可能出现的拼写错误或类型错误 |
易于重构 | JavaConfig 使用 Java 代码进行配置,可以利用 IDE 的重构功能,轻松地进行重命名、提取方法等操作,提高了代码的可维护性 |
面向对象 | JavaConfig 可以利用 Java 语言的面向对象特性,如继承、多态等,更加灵活地进行配置和组件定义 |
可读性和可维护性 | JavaConfig 使用 Java 代码进行配置,配置信息直观可见,易于理解和维护。相比于 XML 配置文件,JavaConfig 更加直观和易读 |
编程能力 | JavaConfig 允许开发人员使用 Java 语言的编程能力,如条件判断、循环等,可以根据需要进行动态的配置 |
标签:依赖,Java,SpringBoot,第一天,Spring,配置,应用程序,JavaConfig,面试 From: https://blog.csdn.net/weixin_63164764/article/details/139609022