@Component:泛指各种组件
将类放进容器
@Controller、@Service、@Repository都可以称为@Component。
@Controller:声明控制层
@Service:声明业务层
@Repository:声明数据访问层
@RequestMapping
@RequestMapping表示共享映射,如果没有指定请求方式,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有的HTTP请求方式。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体,分别对应具体的HTTP请求方式的映射注解。
@RequestMapping 注解可以在控制器类上和控制器类中的方法上使用。
在Spring当中为了简化请求路径的定义,可以把公共的请求路径,直接抽取到类上,在类上加一个注解@RequestMapping,并指定请求路径"/depts"。代码参照如下:
注意事项:一个完整的请求路径,应该是类上@RequestMapping的value属性 + 方法上的 @RequestMapping的value属性
@Data
@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
@AllArgsConstructor : 注在类上,提供类的全参构造
@NoArgsConstructor : 注在类上,提供类的无参构造
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private String name;
private String address;
private Integer age;
private String hobbit;
private String phone;
}
@Log4j/@Slf4j :
注在类上,提供对应的 Logger 对象,变量名为 log
@Override
重写
@Overload
重载
重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
@configuration
配置类
@restcontrolleradvice
全局异常处理器
@RestControllerAdvice = @ControllerAdvice +@ResponseBody
@exceptionhandler
指定捕获的是哪一类型的异常
@ExceptionHandler(Exception.class) 捕获所有的异常
@Transactional
位置:业务(service)层的方法上、类上、接口上
作用:将当前方法交给spring进行事务管理,方法执行前,开启事务;成功执行完毕,提交事务;出现异常,回滚事务