一、类级别的注解
- @Controller : 表示该类为一个控制层的类、用来创建处理http请求的对象.
- @Service:表示该类为业务层的类
- @Repository:表示该类为dao层的类
- @Component:表示该类为dao层的组件、更加建议使用@Repository
- @Scope:用于配置Spring Bean的作用域
- @ResponseBody:表示该类的所以的方法的返回值为JSON数据。注:作用方法时、该方法返回值为JSON数据
- @RequestMapping:表示该类的请求地址。注:作用方法时、该方法的请求地址是: 类配置的请求地址 + 方法的请求地址
- @RestController:它的作用 = @Controller + @ResponseBody
二、远程注入
- @Autowired:根据类型进行注入
- @Resource:根据名字叫进行注入
- @Qualifier:防止bean混乱问题、@Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。
@Qulifier应用场景:一个接口有多个实现类、当注入的时候需要区别具体的实现类
三、方法级别的注解
- @RequestMapping:方法的请求地址、这里也可以配置请求方式参数中 method= RequestMethod.xx
- @GetMapping:该方法为get请求
- @PostMapping:该方法为post请求
- @PutMapping:该方法为put请求
- @DeleteMapping:该方法为delete请求
- @PatchMapping:put方式是可以更新.但是更新的是整体.patch是对局部更新;
- @PostConstruct:用来标记是在项目启动的时候执行这个方法。用来修饰一个非静态的void()方法
- @PreDestroy:被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前
- @Override:表示方法是重写父类的方法
- @ModelAttribute:指定Model对象
四、参数级别的注解
- @RequestBody:映射格式为JSON的数据、到其参数中。注:get请求不能使用
- @RequestParam:映射格式为form-data、x-www-form-urlencoded的数据。注:地址栏参数可以使用该注解
- @Pathvariable:用于映射@RequestMapping模板的数据
- @CookieValue:可以把Request header中关于cookie的值绑定到方法的参数上