Spring Boot 常用注解速查表(快速查找)
作者:向阳花自开
🌱 Spring Boot 常用注解速查表
📁 分类整理 + 应用说明,适用于日常开发参考。
🔧 核心注解(IOC/AOP)
注解 | 作用 | 应用层 |
---|---|---|
@Component | 标识一个通用组件,注册到 Spring 容器 | 所有组件 |
@Service | 表示服务层组件(业务逻辑) | Service |
@Repository | 表示 DAO 层组件,带异常转换功能 | Repository |
@Controller | 表示控制器组件,返回视图 | Web 控制层 |
@RestController | @Controller + @ResponseBody,返回 JSON | Web API |
@Autowired | 按类型注入 Bean | 所有层 |
@Resource | 默认按名称注入 Bean | 所有层 |
@Value("${key}") | 注入配置文件中的属性值 | 所有层 |
@PostConstruct | Bean 初始化后执行方法 | 所有层 |
@PreDestroy | Bean 销毁前执行方法 | 所有层 |
🌐 Web 开发相关(Spring MVC)
注解 | 作用 |
---|---|
@RequestMapping | 映射请求路径(支持 GET/POST 等) |
@GetMapping / @PostMapping | 更具体的请求方法映射 |
@PathVariable | 获取 URL 中的路径变量 |
@RequestParam | 获取请求参数(?key=value) |
@RequestBody | 接收 JSON 请求体并映射为对象 |
@ResponseBody | 将方法返回值转为 JSON |
@ModelAttribute | 用于表单绑定参数到对象 |
@CrossOrigin | 支持跨域请求 |
@SessionAttributes | 设置需要存储到 session 的属性 |
⚙️ 配置类 / 自动装配相关
注解 | 作用 |
---|---|
@SpringBootApplication | 启动类核心注解(包含 3 个注解) |
@Configuration | 定义配置类(相当于 XML 配置) |
@Bean | 将方法返回对象注册为 Bean |
@ComponentScan | 指定扫描组件的基础包 |
@EnableAutoConfiguration | 启用 Spring Boot 自动配置 |
@EnableConfigurationProperties | 开启配置绑定支持 |
@ConfigurationProperties(prefix="...") | 将配置文件的属性注入到 Java 类 |
🗃️ 数据访问(JPA)
注解 | 作用 |
---|---|
@Entity | 定义实体类 |
@Table(name="...") | 指定数据库表名 |
@Id | 定义主键 |
@GeneratedValue | 主键生成策略 |
@Column | 配置列名、约束等 |
@Repository | 标注数据访问层类 |
🧪 测试相关
注解 | 作用 |
---|---|
@SpringBootTest | 启动整个 Spring Boot 环境进行测试 |
@WebMvcTest | 测试 Controller 层(不启动整个容器) |
@DataJpaTest | 测试 JPA 数据层 |
@MockBean | 向测试环境注入 mock 的 Bean |
💡 其他实用注解
注解 | 作用 |
---|---|
@Primary | 标记为首选注入 Bean(多个 Bean 时) |
@ConditionalOnProperty | 根据配置文件条件启用 Bean |
@Slf4j | 自动注入日志对象(需 lombok) |
🧭 建议组合使用(常见套路)
// 启动类 @SpringBootApplication public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } // Controller 示例 @RestController @RequestMapping("/api") public class UserController { @Autowired private UserService userService; @GetMapping("/users/{id}") public User getUser(@PathVariable Long id) { return userService.getById(id); } }
到此这篇关于java多线程的文章就介绍到这了,更多相关java多线程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!