-
@Min 最小值检证
查看全部 -
1.引入切入点,避免代码重复:
@Pointcut("execution(public * com.imooc.controller.GirlController.*(..))") public void log(){ }
通知标注中直接引用切入点:
@Before("log()") public void doBefore(){ System.out.println("11111111111"); }
2.slf4j打印日志:
private final static Logger logger=LoggerFactory.getLogger(HttpAspect.class);
logger.info();
logger.error();
查看全部 -
1.AOP是什么?
AOP是一种范式,一种程序设计思想,不是一门语言,不止在Java中有;AOP是面向切面编程思想,即:针对垂直的业务逻辑处理过程,把问题水平切割为某个步骤或阶段;就是从不同的角度看问题,换个姿势看世界,不同的设计思想还有:
面向对象编程(OOP),如Java
面向过程编程(POP),如C
2.如何创建通知?
1)pom.xml中引入切面spring-boot-starter-aop
2)新建一个切面(@Aspect和@Component标志的类),然后在切面中创建通知,如使用@Before("execution(public List com.imooc.controller.GirlController.grilList(..))")标注某一个方式,使之成为public List com.imooc.controller.GirlController.grilList(..)方法的前置通知;当然,也可以使用*泛指某类下的所有方法:public * com.imooc.controller.GirlController.*(..),在返回类型位置的*代表返回任意类型都匹配,参数列表中的..代表匹配任意参数
查看全部 -
请求表单(实体类)验证:
@Min(value=值,message=提示信息 ) : 验证实体类属性,不能小于value
Controller方法入参:@Valid 实体参数1,BindingResult 参数2
@Valid 结合bean实体验证参数
BindingResult返回验证请况
BindingResult.hasErrors() 是否验证错误
BindingResult.getFieldError().getDefaultMessage()获取参数错误信息
查看全部 -
负责任的开发工程师都要进行单元测试
查看全部 -
spring启动时会把所有类实例化,所以一般很少看到构造方法
查看全部 -
面向切面编程(AOP),水平(切面)提取通用处理逻辑。
查看全部 -
为了方便异常处理,需要创建异常类:xxxException->
需要有成员变量
需要有gettter&&setter方法
一定要继承RuntimeException!!!!因为spring-boot不会回滚Exception的事务
查看全部 -
统一异常处理第一步:
创建handle类,类名上加@ControllerAdvice
方法名上加@ExceptionHandler(vale = xxxException.class)
查看全部 -
进一步优化:
将重复代码放入ResultUtils中处理,并修改对应controller部分
查看全部 -
包装为统一对象第二步:
修改controller层,在正确or失败之后返回对应的结果
查看全部 -
包装为统一格式返回的第一步:
创建一个domain对象,包含错误码,提示信息,具体内容等
getter和setter方法
查看全部 -
最终希望整理出来的返回格式:
无论响应成功或者失败,都应该有统一的格式,这样做是为了方便客户端的接受与处理
查看全部 -
获取请求相关参数:
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest();
查看全部 -
使用log日志
定义private final satatic Logger loggeer = LoggerFactory.getLogger(xxx.class)【从slg4j中引入】
logger.info()
查看全部
举报