本文主要是介绍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
这篇关于imooc-SpringBoot进阶之Web进阶的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!