分类 | 注解名称 | 注解释义 | 使用范围 |
声明bean的注解 | @Controller | 用于标注控制层组件 | 使用在类上 |
@Service | 用于标注业务层组件 | ||
@Repository | 用于标注数据访问层组件 | ||
@Component | 如果没有明确分类,使用此注解标记为组件 | ||
注入bean的注解 | @Autowired | 默认以byType方式 | 使用在set方法或者属性上 |
@Qualifier | @Autowired+@Qualifier组合使用,@Qualifier指定byName | ||
@Resource | 默认以byName方式 | ||
@Inject | |||
配置类注解 | @ComponentScan | 用于对Component组件进行扫描,指定扫描包路径 | 使用在类上 |
@Configuration | 声明当前类为配置类 | ||
@ContextConfiguration | 声明加载配置ApplicationContext(测试时使用) | ||
@Bean | 声明当前方法为一个bean | 使用在方法上 | |
@PropertySource | 加载配置文件 | 使用在类上 | |
@Value | 为属性注入值 | 使用在属性上 | |
切面(AOP)注解 | @Aspect | 声明一个切面 | 使用在类上 |
@Pointcut | 声明一个切点 | 使用在方法上 | |
@After | 在切点方法之后执行 | ||
@Before | 在切点方法之前执行 | ||
@Around | 在切点执行之前和之后执行 | ||
@AfterReturning | 入参相比较@After多了切点返回值 | ||
@AfterThrowing | 异常抛出 | ||
SpringMVC相关注解 | @RestController | 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合 | 使用在类上 |
@RequestMapping | 用于映射Web请求,包括访问路径和参数 | 使用在类或者方法上 | |
@ResponseBody | 支持将返回值放在response内,而不是一个页面,通常用户返回json数据 | 入参返回值旁或方法上 | |
@RequestBody | 允许request的参数在request体中,而不是在直接连接在地址后面 | 入参参数前 | |
@PathVariable | 用于接收路径参数 | 入参参数前 | |
@ControllerAdvice | 控制器的全局配置,结合@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上 | 使用在类上 | |
@Bean属性支持 | @PostConstruct | spring容器启动时执行,可作为一些数据的常规化加载 | 使用在方法上 |
@Scope | 设置Spring容器如何新建Bean实例,默认单例 | 使用在方法上 | |
lombok 常用注解 | @Data | 提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 | 使用在类上 |
@EqualsAndHashCode | 实现equals()方法和hashCode()方法 | 使用在类上 | |
@ToString | 实现toString()方法 | 使用在类上 | |
@Setter | 实现属性的set方法 | 使用在属性上 | |
@Getter | 实现属性的get方法 | 使用在属性上 | |
@NonNull | 标注属性不能为null | 使用在属性上 | |
@Log4j | 提供一个属性名为log的log4j 日志对象 | 使用在类上 | |
@NoArgsConstructor | 实现一个无参的构造方法 | 使用在类上 | |
@AllArgsConstructor | 实现一个全参的构造方法 | 使用在类上
| |
shiro权限控制注解 | @RequiresPermissions | 判断用户是否有相应的权限 | 使用在方法上 |
@RequiresAuthentication | 验证用户是否登录,反之AuthorizationException异常 | 使用在方法上 | |
@RequiresRoles | 验证是否有某角色权限,反之AuthorizationException异常 | 使用在方法上 | |
@RequiresGuest | 验证是否是一个guest的请求 | 使用在方法上 | |
@RequiresUser | 使用在方法上 |