欢迎光临
我们一直在努力

Java后端核心注解大辞典

目录

第一层:控制层(Controller)—— 负责接请求、给响应

第二层:业务层(Service)—— 负责写逻辑、调数据库

第三层:数据库层(Mapper)—— 负责直接跟表打交道

第四层:启动与配置类(Spring Boot 核心)

第五层:Lombok

📝 三层对照

🧓 实操例子


分成三层来记,控制层(Controller)→ 业务层(Service)→ 数据库层(Mapper),这样思路最清晰。


第一层:控制层(Controller)—— 负责接请求、给响应

注解

作用

位置

生动解释

@RestController

标记这是一个控制器,且所有方法都返回JSON

类上面

跟浏览器说:我这是接待处,而且只说JSON语言

@RequestMapping

设置访问路径的“根目录”

类上面

给整个接待处挂个门牌号,比如 /api

@GetMapping

只能处理 GET 请求(查)

方法上面

专门接待“想看看”的客人

@PostMapping

只能处理 POST 请求(增)

方法上面

专门接待“想交资料”的客人

@PutMapping

只能处理 PUT 请求(改)

方法上面

专门接待“想改资料”的客人

@DeleteMapping

只能处理 DELETE 请求(删)

方法上面

专门接待“想删资料”的客人

@PathVariable

接收路径里的参数,比如

/user/1 里的 1

方法参数上

从门牌号里把数字摘出来

@RequestParam

接收?号后面的参数,比如

?name=张三

方法参数上

从问号后面把值摘出来

@RequestBody

接收前端传来的JSON对象

方法参数上

把客人递过来的一整张表拆开


第二层:业务层(Service)—— 负责写逻辑、调数据库

注解

作用

位置

@Service

标记这是一个业务处理类

类上面

@Autowired

自动把别的组件“拿过来”用

字段/构造方法上

@Transactional

开启数据库事务(要么全成功,要么全撤销),避免脏数据

方法/类上面


第三层:数据库层(Mapper)—— 负责直接跟表打交道

注解

作用

位置

@Mapper

标记这是一个数据库操作接口

接口上面

@TableName

指定这个实体类对应哪张表

实体类上面

@TableId

标记哪个字段是主键

实体类字段上

@TableField

标记字段对应表的哪一列

实体类字段上


第四层:启动与配置类(Spring Boot 核心)

注解

作用

位置

@SpringBootApplication

启动类专用,包含了三大注解

启动类上

@Configuration

标记这是一个配置类

类上面

@Bean

把方法返回的对象交给Spring管理

配置类里的方法上


第五层:Lombok

注解

作用

位置

例子

@Data

最常用! 一键生成getter/setter/toString等

实体类上

@AllArgsConstructor

生成全参数的构造方法

实体类上

@NoArgsConstructor

生成无参数的构造方法

实体类上

@Builder

支持链式调用

实体类上

User user = User.builder()

.id(1L)

.username("张三")

.password("123")

.age(20)

.build();


📝 三层对照

层级

类上面贴

方法上面贴

参数上面贴

控制层

@RestController + @RequestMapping

@GetMapping / @PostMapping…

@PathVariable

/ @RequestParam

/ @RequestBody

业务层

@Service

@Transactional

@Autowired 自动注入

数据库层

@Mapper

(MyBatis-Plus自动生成)

(MyBatis-Plus自动生成)


🧓 实操例子

// ———- 实体类 (Lombok + MyBatis-Plus) ———-
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
}

// ———- Mapper (数据库层) ———-
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 空着就行,MP自动提供增删改查
}

// ———- Service (业务层) ———-
@Service
public class UserService {
@Autowired
private UserMapper userMapper; // 把Mapper拿过来用

public User getById(Long id) {
return userMapper.selectById(id);
}
}

// ———- Controller (控制层) ———-
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;

@GetMapping("/{id}")
public User getById(@PathVariable Long id) {
return userService.getById(id);
}
}

昨天的文章收获了一些点赞,作为初次尝试写博客的大学生来说真的好开心啊,感谢所有道友的鼓励!我将会持续更新我的学习与总结的❤

赞(0)
未经允许不得转载:171主机测评 » Java后端核心注解大辞典
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址