Spring Boot 注解是框架的核心工具之一,用于简化配置、管理依赖注入、映射请求以及控制事务等。掌握注解的作用有助于快速开发高质量的 Spring Boot 应用。
一、配置作用
Spring Boot 注解大幅简化了应用配置,减少 XML 文件和手动配置工作量。
1. @SpringBootApplication
-
作用:标识主应用类,启动 Spring Boot 应用
-
组合功能:
-
@SpringBootConfiguration→ 声明配置类 -
@EnableAutoConfiguration→ 启用自动配置 -
@ComponentScan→ 扫描当前包及子包的组件
-
-
示例:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
2. @EnableXXX 系列
-
作用:开启特定功能或模块
-
常用示例:
-
@EnableScheduling→ 开启定时任务 -
@EnableCaching→ 开启缓存支持 -
@EnableTransactionManagement→ 开启事务管理
-
二、依赖注入(IoC)
依赖注入是 Spring 核心功能,注解让开发者不用手动创建对象。
1. Bean 定义注解
-
@Component→ 通用组件 -
@Service→ 业务逻辑层 Bean -
@Repository→ 数据访问层 Bean -
@Controller→ 控制器 Bean(Web 层)
2. 自动注入
-
@Autowired→ 自动注入 Bean -
@Qualifier→ 当有多个同类型 Bean 时指定注入哪一个 -
示例:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
}
三、请求映射(Web 层)
Spring MVC 注解用于映射 HTTP 请求到方法和类。
1. 控制器注解
-
@Controller→ 普通控制器 -
@RestController→ 返回 JSON 数据(@Controller + @ResponseBody)
2. 请求映射注解
-
@RequestMapping→ 可指定路径、请求方法 -
@GetMapping,@PostMapping→ 专用 HTTP 方法映射 -
@PathVariable→ 获取 URL 中的变量 -
@RequestParam→ 获取请求参数 -
@RequestBody→ 获取请求体中的 JSON 数据
示例:
@RestController
@RequestMapping("/user")
public class UserController {
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.getUserById(id);
}
}
四、事务与切面(AOP)
1. 事务管理
-
@Transactional→ 声明方法或类的事务 -
自动提交/回滚事务,简化手动管理
@Service
public class OrderService {
@Transactional
public void createOrder(Order order) {
orderRepository.save(order);
// 出现异常则回滚
}
}
2. AOP 注解
-
@Aspect→ 声明切面 -
@Before,@After,@Around→ 定义切面逻辑 -
用途:日志、权限校验、性能监控等横切关注点
五、其他常用注解
| 注解 | 作用 |
|---|---|
@Value | 注入配置文件的值 |
@PostConstruct | Bean 初始化完成后执行 |
@PreDestroy | Bean 销毁前执行 |
@ConfigurationProperties | 将配置文件映射到 Java 对象 |
六、总结
-
Spring Boot 注解的核心作用:告诉框架做什么、怎么做、什么时候做
-
覆盖配置、依赖注入、Web 请求映射、事务与切面、Bean 生命周期等功能
-
使用注解可以大幅减少手动配置和重复代码,提高开发效率
1005

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



