相信很多的朋友值是知道Spring Boot,知道简单,好用,工作中增删改查都是基于Spring Boot,
但是真正用到Spring Boot的技术有多少呢?相信很多人都说不出来了,简单总结一下,希望能帮到初学者,也希望能给老鸟提供一些参考。
@Conditional
条件注解(如@ConditionalOnClass
)和META-INF/spring.factories
文件,动态加载配置类。
spring-boot-starter-web
后自动配置Tomcat、Spring MVC。
@EnableAutoConfiguration(exclude={...})
排除默认配置,或编写自定义@Configuration
类。
spring-boot-starter-*
统一管理依赖版本,避免版本冲突。
spring-boot-starter-web
:Web开发
spring-boot-starter-data-jpa
:JPA数据访问
spring-boot-starter-test
:单元测试
server.port
修改端口,server.ssl.*
配置HTTPS。
application-{profile}.yml
区分开发(dev)、测试(test)、生产(prod)环境。
@Profile
注解实现条件Bean加载。
@ConfigurationProperties
绑定到Java对象。
spring-boot-starter-data-jpa
简化Repository接口开发。
@Entity
定义实体,@Query
编写自定义SQL。
@Transactional
注解声明式事务控制。
DataSource
并配合@Primary
注解指定主数据源。
@RestController
定义API,@GetMapping
/@PostMapping
映射HTTP方法。
ResponseEntity
封装响应状态和数据。
HandlerInterceptor
)实现权限校验。
WebMvcConfigurer
配置静态资源路径、消息转换器。
spring-boot-starter-actuator
后,访问/actuator/health
查看服务状态。
HealthIndicator
接口。
autoconfigure
模块,编写@Configuration
类及条件注解。
META-INF/spring.factories
中注册自动配置类。
starter
模块,依赖autoconfigure
并提供默认配置。
WebClient
替代RestTemplate
发起非阻塞请求。
RouterFunction
定义响应式路由。
spring-cloud-starter-alibaba-nacos
。
spring-cloud-starter-alibaba-config
。
spring-cloud-starter-alibaba-sentinel
。
@Cacheable
整合Redis或Caffeine。
@Async
注解实现方法异步调用。
controller
→ service
→ dao
分层,使用DTO
隔离传输与实体模型。
application-secret.yml
并排除在版本库外。
@ControllerAdvice
+ @ExceptionHandler
统一处理异常,返回标准化错误响应。
BusinessException
)并绑定HTTP状态码。
logback-spring.xml
配置输出格式、文件滚动策略。
@SpringBootTest
加载上下文,@MockBean
模拟依赖。
TestRestTemplate
或MockMvc模拟HTTP请求。
SpringApplication.run()
启动流程、自动配置加载机制。
Spring Boot通过约定优于配置的理念极大简化了Spring应用的开发,其核心价值在于:
无论是新手还是资深开发者,掌握Spring Boot的关键技术点后,可高效应对企业级应用开发挑战,并持续探索微服务、响应式编程等前沿领域。