imooc-SpringBoot进阶之Web进阶

imooc-SpringBoot进阶之Web进阶

第1章 课程介绍

第2章 Web进阶

2-0 表单验证

  • 设置需要验证的属性

    • 实体类中,在属性前加@Min/.注解,其中有value设置阈,message设置返回信息

      @Min(value = 20 , message = "金额少于20")
      private BigDecimal money;
      
    • controller中,传入整个实体(而不是某一属性),并加注解@Vaild,并加入参数BindingResult对象储存信息

      /**
       * 创建红包(发红包)
       */
      @PostMapping("/luckymoney")
      public Luckymoney create(@Valid Luckymoney luckymoney,BindingResult bindingResult){
             
          if (bindingResult.hasErrors()){
             
              System.out.println(bindingResult.getFieldError().getDefaultMessage());
              return null;
          }
          luckymoney.setProducer(luckymoney.getProducer());
          luckymoney.setMoney(luckymoney.getMoney());
          return repository.save(luckymoney);
      }
      

2-1.2.3 使用AOP处理请求

  • AOP是一种编程范式

    • 与语言无关,是一种编程思想
      • 面向切片(AOP)
      • 面向对象(OOP)
      • 面向过程(POP)
    • 将通用逻辑从业务逻辑中分离出来
  • @Before注解:在方法执行之前执行

    @After注解:在方法执行之后执行

    @Aspect
    @Component
    public class HttpAspect {
         
    
       //拦截controller类中list方法的任何参数
        @Before("execution(public * com.imooc.luckymoney.controller.LuckymoneyController.list(..))")
      //拦截controller类中任何方法
      @Before("execution(public * com.imooc.luckymoney.controller.LuckymoneyController.*(..))")
        public void log(){
         
            System.out.println("1");
        }
      
      @After("execution(public * com.imooc.luckymoney.controller.LuckymoneyController.*(..))")
        public void doAfter(){
         
            System.out.println("2");
        }
    }
    
  • @Pointcut注解:设置切点,在其他拦截中直接调用log()方法

    @Aspect
    @Component
    public class HttpAspect {
         
    
      @Pointcut("execution(public * com.imooc.luckymoney.controller.LuckymoneyController.*(..))")
        public void log(){
         
        }
      
      @Before("log()")
        public void doBefore(){
         
            System.out.println("1");
        }
      
      @After("log()")
        public void doAfter(){
         
            System.out.println("2");
        }
    }
    
  • 记日志建议采用Logger类中的几个级别,而不是直接打印在控制台

    @Aspect
    @Compon
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值