为了账号安全,请及时绑定邮箱和手机立即绑定
  • 表单验证:@Valid,@Min(value=18, message=“XXX”)

    查看全部
    0 采集 收起 来源:表单验证

    2018-10-14

    • 位置:只要在test下,位置貌似无所谓了

    • 在测试类上加上以下两个注解

    1. @RunWith(SpringRunner.class) 表示的是将要在 测试环境中跑了

    2. @SpringBootTest 表示将启动整个Spring的工程


    • 注入待测试对象

    • 在测试方法上加上org.junit.Test 对应的@Test注解


    查看全部
    0 采集 收起 来源:单元测试

    2018-10-12

  • sop处理类源码,为什么,我的缩进全都没有了,如果有人看的话,还是复制出去看吧

    package com.fx.demo.aspect;
    import javax.servlet.http.HttpServletRequest;
    import org.aspectj.lang.JoinPoint;
    import org.aspectj.lang.annotation.After;
    import org.aspectj.lang.annotation.AfterReturning;
    import org.aspectj.lang.annotation.Aspect;
    import org.aspectj.lang.annotation.Before;
    import org.aspectj.lang.annotation.Pointcut;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Component;
    import org.springframework.web.context.request.RequestContextHolder;
    import org.springframework.web.context.request.ServletRequestAttributes;
    import com.alibaba.fastjson.JSON;
    @Aspect
    @Component
    public class HttpAspect {
    private final static Logger log=LoggerFactory.getLogger(HttpAspect.class);
    @Pointcut("execution(public * com.fx.demo.controller.Start.*(..))")
    public void cut1(){}
    //方法里面的".."表示任何参数
    @Before("cut1()")
    public void doBefor(JoinPoint joinPoint){//方法名无所谓随便起;Joinpoint这个参数非必须,是在获取“类方法”、“类名”、“方法参数”的时候会用到,如果用不到的话就不需要了。
    log.info("doBefor方法");
    ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
    //注意这里有两个同名的类,选这个javax.servlet.http.HttpServletRequest
    HttpServletRequest request=attributes.getRequest();
    //url 这里有个亮点,info(a,b)方法的前一个参数大括号里面的东西会被后一个参数填充
    log.info("url={}",request.getRequestURL());
    //method
    log.info("method={}",request.getMethod());
    //ip
    log.info("ip={}",request.getRemoteAddr());
    //类名和类方法
    log.info("class_method={}",joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName());
    //参数
    log.info("args={}",joinPoint.getArgs());
    }
    @After("cut1()")
    public void doafter(){
    log.info("doafter方法");
    }
    @AfterReturning(returning="obj",pointcut="cut1()")
    public void doAfterReturning(Object obj){
    log.info("response={}",JSON.toJSON(obj).toString());
    }
    }


    查看全部
  • 前端 Vue

    查看全部
    0 采集 收起 来源:课程总结

    2018-10-10

  • 重要的 : 表单验证

    AOP 需要深度学习


    查看全部
    0 采集 收起 来源:课程总结

    2018-10-10

  • service处理逻辑 抛异常

    查看全部
  • 异常捕获。

    查看全部
  • 相同格式返回数据

    查看全部
  • JoinPoint 获取类方法 参数

    查看全部
  • 获取具体参数内容

    JoinPoint

    查看全部
  • @AfterReturning()

    日志返回值

    查看全部
  • Logger 选择org.slf4j 

    Spring自带的日志框架+

    使用:logger.info("");


    查看全部
  • log公用的方法 

    @Pointcut注解 公用的路径

    查看全部
  • AOP第二步 启动类需要加注解 Spirngboot不需要添加

    AOP第三步 创建一个处理文件HttpAspect 拦截请求


    查看全部
  • AOP第一步 添加依赖 pom.xml  Spring-boot-starter-app

    查看全部

举报

0/150
提交
取消
课程须知
没有基础的同学建议先学习前置课程 《2小时学习Spring Boot》 http://www.imooc.com/learn/767, 代码示例请参考 https://git.oschina.net/liaoshixiong/girl
老师告诉你能学到什么?
Spring Boot针对Web方面的相关技巧

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!