Spring 全家桶概述
Spring 全家桶是围绕 Spring Framework 构建的一系列开发工具的集合,用于简化企业级 Java 应用开发。以下是核心组件及其作用:
Spring Framework
- 核心功能:依赖注入(DI)、面向切面编程(AOP)、事务管理。
- 模块划分:
- Spring Core:提供 IOC 容器。
- Spring MVC:基于 Servlet 的 Web 框架。
- Spring JDBC:简化数据库访问。
- 代码示例(依赖注入):
@Service public class UserService { @Autowired private UserRepository repository; }
Spring Boot
- 核心优势:约定优于配置,快速启动独立应用。
- 关键特性:
- 内嵌 Tomcat/Jetty 服务器。
- 自动配置(
spring-boot-autoconfigure)。 - 启动依赖(Starter POMs),如
spring-boot-starter-web。
- 示例配置:
# application.yml server: port: 8080
Spring Data
- 目标:统一数据访问层,支持关系型与非关系型数据库。
- 子项目:
- Spring Data JPA:基于 JPA 的 Repository 抽象。
- Spring Data MongoDB:MongoDB 集成。
- 代码示例:
public interface UserRepository extends JpaRepository<User, Long> {}
Spring Cloud
- 用途:分布式系统微服务化解决方案。
- 核心组件:
- 服务发现:Eureka、Nacos。
- 配置中心:Spring Cloud Config。
- 负载均衡:Ribbon。
- 示例配置:
# bootstrap.yml spring: cloud: config: uri: http://config-server:8888
Spring Security
- 功能:认证(Authentication)与授权(Authorization)。
- 特性:
- 支持 OAuth2、JWT。
- 防止 CSRF、XSS 攻击。
- 代码示例:
@Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers("/admin").hasRole("ADMIN"); } }
Spring Batch
- 场景:大规模数据批处理(如报表生成)。
- 核心概念:Job、Step、ItemReader/ItemWriter。
- 示例配置:
<job id="importJob" xmlns="http://www.springframework.org/schema/batch"> <step id="step1"> <tasklet> <chunk reader="reader" writer="writer" commit-interval="10"/> </tasklet> </step> </job>
其他工具
- Spring Session:分布式会话管理。
- Spring AMQP:RabbitMQ 集成。
- Spring Integration:企业集成模式(EIP)实现。
版本兼容性
建议通过 Spring Initializr 生成项目时选择匹配的版本组合,例如:
- Spring Boot 2.7.x + Spring Cloud 2021.x。
- Spring Boot 3.x + Jakarta EE 9+(需 JDK 17+)。
190

被折叠的 条评论
为什么被折叠?



