框架常用注解统计

框架常用注解统计

Spring注解
1. @Configuration// 标识配置类
2. @Bean //将自己方法的返回值交给Spring容器管理
3. @Component //将该类交给spring容器管理. 通过反射自动实例化对象
4. @ComponentScan(“com.jt”) //包扫描的注解 使Spring注解有效
5. @Scope("singleton") //默认值  单例模式
6. @Scope("prototype")//多例模式
7. @Lazy     //懒加载
8. @PostConstruct  /*生命周期:初始化对象 对象创建后立即调用*/
9. @PreDestroy  //生命周期:销毁对象 对象消亡时进行调用
10.@Autowired  //当前接口的实现类自动注入,但如果当前接口有多个实现类,会报错,需要配合 @Qualifier使用
11.@Qualifier("dog")      /*该注解不能单独使用,必须配合@Autowired使用,根据key进行注入*/
12.@Resource(name="cat")  /*尽量不要使用   功能上等于@Autowired+ @Qualifier("dog")*/
13.@Controller   //标记控制层 Controller 与前端页面交互的
14.@Service  //标记业务层 Service 编辑业务逻辑.
15.@Repository // 标记持久层 Mapper 实现数据库的相关操作
16.@Value("${user.userName}")  //可以直接为基本类型赋值和String类型,一般配合@Property()+*.properties文件使用 ${}为spel表达式,根据key读取属性文件的value
17. @PropertySource(value="classpath:/user.properties",encoding = "UTF-8") //classpath:/  代表resources的根目录,属性文件存放位置
18. @EnableAspectJAutoProxy /*意思:启动切面自动代理 : 开启AOP*/
19  @Aspect   //表示该类是一个切面
20. @Pointcut("bean(userServiceImpl)") /*判断当前目标对象bean的id等于userServiceImpl*/
21. @Before("pointcut()")         //1.前置通知,在目标方法执行之前执行
22. @AfterReturning("pointcut()") //2.后置通知,在目标方法执行之后执行
23. @AfterThrowing("pointcut()")  //3.异常通知,目标方法执行报错时,执行该通知
24. @After("pointcut()")          //4.最总通知,目标方法之后,都要执行的通知
25. @Around("pointcut()")         //5.重点掌握 环绕通知,因为在目标方法执行前后都要执行,控制目标方法
26. @order(1)    //对切面执行顺序进行排序,数值越小执行顺序越靠前

补充用法

		1. @Pointcut("within(com.jt.service.UserServiceImpl)")
			   只拦截UserServiceImpl的类
		2.  @Pointcut("within(com.jt.service.*)")
			   拦截com.jt.service下的一级的类.
		3.  @Pointcut("within(com.jt.service..*)")
				拦截com.jt.service下所有包下的所有类
		4.  @Pointcut("within(com.*.service..*)")
				拦截com.任意包.service下所有包下的所有类
语法:  @Pointcut("execution(返回值类型 包名.类名.方法名(参数列表))")
1. 按照类型方法匹配
@Pointcut("execution(* com.jt.service.UserServiceImpl.addUser())")
2. 要求返回值任意, com.jt.service包下的所有的子孙类中的任意方法的任意参数要求拦截.
@Pointcut("execution(* com.jt.service..*.*(..))")
3. 要求返回值任意, com.jt.service包下的所有的子孙类中的add开头的方法并且参数1个是int类型 进行拦截
@Pointcut("execution(* com.jt.service..*.add*(int))")
@Pointcut("@annotation(com.jt.annotation.ss)")
SpringMVC常用注解
@RequestMapping  //通用请求路径
@GetMapping    //匹配前端get请求
@PostMapping   //匹配前端post请求
@DeleteMapping //匹配前端delete请求
@PutMapping   //匹配前端put请求
@PathVariable  //用于restFul请求风格的接参
@RestController //相当于@Controller+@ResponseBody
@CrossOrigin   //用于处理跨域
@ResponseBody  //后端返回json串给前端
@RequestBody  //后端接收前端json串
@RequestParam //表示参数拼接在url的?h
SpingBoot常用注解
@SpringBootTest  //注释掉此注解,直接打印会打印出null,调用方法会出现空指针
@SpringBootApplication//从启动类所在的包或者子包中查找有特定注解的类,将扫描到的类代为管理
lombok常用注解
@Data //自动生成Getter/Setter/RequiredArgsConstructor/ToString/EqualsAndHashCode
@Accessors(chain = true)  //重写set方法,可以实现链式加载
@NoArgsConstructor  //自动添加无参构造
@AllArgsConstructor //全参构造方法
@Slf4j //lombok中的这个注解用于告诉lombok,为我们的类中创建一个log = org.slf4j.Logger的对象
MyBatis 常用注解
@Mapper  //将接口交给Spring容器管理 Map<userMapper,JDK代理对象>
@param //将多值封装在Map集合中,用于多值传参
@Select //查询注解
@Insert //新增注解
@Update //更新注解
@Delete //删除注解
@Transactional //控制事物 测试一级缓存
@CacheNamespace  //使用注解的二级缓存
事物控制:
@Transactional(rollbackFor = SQLException.class) //事物的注解
@RestControllerAdvice //advice 通知!!! 用来配置全局aop
@ExceptionHandler(RuntimeException.class) //全局aop处理的异常对象
MyBatis-plus 常用注解
@TableName("user")      //让对象与表名一一映射
@TableId(type = IdType.AUTO/*主键自增*/)    //标识主键
@TableField("username")  //如果属性与字段名称一致(包含驼峰规则),那么注解可以省略不写
@TableField(exist = false)  //用于设置再业务数据上,让MP忽略其对应d

SpringCloud 注解统计
@PathVariable ("m")//在@FeignClient修饰的接口方法中,@PathVariable注解中的参数必须要写,注解中的名字要和url中的名字相同,可以不和参数列表的变量名相同
@LoadBalanced  //负载均衡  
@EnableFeignClients //@EnableFeignClients 用于描述一些配置类,告诉系统底层启动时为@FeignClient注解描述的接口创建实现类及对象,然后交给Spring容器管理
@FeignClient  //@FeignClient注解用于描述远程服务接口
@RefreshScope//此注解描述类时,用于告诉系统底层,当配置中心内容发生变化时候,此对象要重新创建,重新初始话属性
Alibaba注解
@SentinelResource("doGetResource")/*给资源起名*/
Spring注解补充
@EnableCaching//开启spring中的缓存机制
@Cacheable(value = "permissionCache")//此注解描述的方法为缓存切入点方法,从数据库查询到数据后,可以将数据存到本地的一个缓存对象中(底层是一个map对象)  permissionCache名字为cache名字
@CachePut(value = "menuCache",key = "#menu.id")//注解描述的方法同样是一个缓存切入点方法,主要用于更新缓存
@CacheEvict//使hgu
@EnableResourceServer//启动资源服务器的默认配置
@EnableGlobalMethodSecurity(prePostEnabled = true)//启动授权机制,访问方法时,会检查方法上的权限;
@PreAuthorize("hasAuthority('sys:resource:list')")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值