Spring 框架和Spring Boot
Spring 应用程序是指使用Spring框架开发的应用程序。Spring框架是一个开源的Java平台
Spring框架的核心功能包括:
-
依赖注入(DI):Spring通过依赖注入提供了一种声明式的方法来实现对象的创建和管理,从而减少了代码的耦合度。
-
面向切面编程(AOP):Spring提供了面向切面编程的支持,允许开发者将横切关注点(如日志记录、事务管理等)与业务逻辑分离。
-
数据访问/集成:Spring提供了对各种数据访问技术的集成,包括JDBC、Hibernate、JPA等。
-
Web支持:Spring提供了对多种Web应用程序开发的支持,包括Spring MVC和Spring WebFlux。
-
安全性:Spring Security提供了全面的安全服务,包括认证和授权。
-
测试:Spring提供了对单元测试和集成测试的支持,使得测试Spring应用程序更加容易。
-
消息传递:Spring Integration提供了对多种消息传递协议的支持。
-
模块化:Spring框架是高度模块化的,这意味着您可以只使用您需要的部分。
-
事务管理:Spring提供了声明式事务管理,简化了事务的配置和使用。
-
RESTful Web服务:Spring提供了创建RESTful Web服务的支持。
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它简化了基于Spring的应用程序的创建和部署过程,通过提供一系列的“约定大于配置”的原则来简化配置。
Spring Boot的主要特点包括:
-
独立运行:Spring Boot 应用程序可以打包成单个的、独立的JAR文件,这意味着它可以在没有外部依赖的情况下运行。
-
内嵌容器:Spring Boot 可以内嵌Tomcat、Jetty或Undertow等服务器,使得应用程序无需部署WAR文件到外部服务器。
-
自动配置:Spring Boot 会根据添加的jar依赖自动配置应用程序,减少了手动配置的需要。
-
无代码生成:Spring Boot 遵循“无代码生成”的原则,这意味着不需要额外的代码生成步骤,如XML配置文件。
-
自动管理依赖:通过Spring Boot的依赖管理,可以简化Maven或Gradle构建配置。
-
微服务支持:Spring Boot 与Spring Cloud集成,支持微服务架构的开发。
-
命令行界面:Spring Boot 提供了一个命令行界面来运行和测试Spring应用程序。
-
Actuator支持:Spring Boot Actuator 提供了生产级别的功能,如健康检查、指标和审计。