目录
- 全局注解
- 控制层
- 服务/资源层
- AOP注释
1. 全局注解
注解 | 说明 |
---|---|
SpringBootApplication | 是组合注解,包含了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan |
SpringBootConfiguration | 继承自@Configuration,会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名 |
EnableAutoConfiguration | 这个注解就是springboot能自动进行配置的魔法所在了。主要是通过此注解,能所有符合自动配置条件的bean的定义加载到spring容器中,比如根据spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置 |
ComponentScan | 会扫描当前包及其子包下被@Component,@Controller,@Service,@Repository等注解标记的类并纳入到spring容器中进行管理 |
ConfigurationProperties | 读取自定义的properties的方法 |
Configuration | 指出该类是 Bean 配置的信息源,相当于XML中的,一般加在主类上 |
Bean | 相当于XML中的,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理 |
Profiles | 提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效 |
2. 控制层
注解 | 说明 |
---|---|
RestController | 是@ResponseBody和@Controller组合注解,用于标注控制层组件,返回json格式 |
Controller | 用于标注控制层组件 |
RequestMapping | 一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径,衍生出来的还有@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping |
RequestBody | 允许request的参数在reqeust体中,常常结合前端POST请求,进行前后端交互 |
ResponseBody | 支持将的参数在reqeust体中,通常返回json格式给前端 |
PathVariable | 用来接收参数,如/path/001,可接收001作为参数 |
RequestParam | 用来接收URL中的参数,如/param?id=001,可接收001作为参数 |
RequestAttribute | 用于访问由过滤器或拦截器创建的、预先存在的请求属性,效果等同与request.getAttrbute() |
ModelAttribute | 主要是绑定请求参数到指定对象上。此注解可被用于方法、参数上 |
3. 服务/资源层
注解 | 说明 |
---|---|
Component | 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注 |
Service | 用于标注业务层组件 |
AutoWired | byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作 |
Qualifier | 当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用 |
Resource | 没有括号内内容的话,默认byName。与@Autowired干类似的事 |
Repository | 用于标注数据访问组件,即DAO组件 |
Transactional | 事务注解 |
4。 AOP注解
注解 | 说明 |
---|---|
Aspect | 把当前类声明为切面类 |
Pointcut | 指定切入点表达式 |
Before | 把当前方法看成是前置通知 |
Around | 把当前方法看成是环绕通知 |
After | 把当前方法看成是始终通知 |
AfterReturning | 把当前方法看成是后置通知 |
AfterThrowing | 把当前方法看成是异常通知 |