• WL
    2019-03-11
    有一个问题, 请问老师在有什么方法可以debug进去spring的动态代理对象里面吗? 或者有什么方法可以看到spring的动态代理对象具体的实现代码吗?

    作者回复: 可以的,在调用的地方设断点,然后step in,就会先到代理类

    
     4
  • Miles Shuai
    2019-03-10
    老师,各位同学,我在谷歌和百度上找了很长时间都找不到spring的官方文档中文翻译,能否给我一个链接?之前老师说的满江红翻译的文档,我找了下,打开是404。另外还想咨询下,老版本的文档需要多阅读么?

    作者回复: 额,满江红的服务器早就不在了,只能靠网上流传的了。话说你为啥在Spring 5.x的时候去看2.5的文档呢,直接看新版本的文档吧,不要害怕英文,靠翻译软件,熟悉一段时间后也能读起来很快的。

    
     3
  • [耶]友超
    2019-06-28
    老师,第一次接触,spring框架,该怎么学

    作者回复: 先挑场景用,用熟悉了再挑你用的东西里的一块去看它的源码

    
    
  • 五点半先生
    2019-03-20
    请问在kevin方法为什么不会执行呀?谢谢!


    @Aspect
    @Component
    @Slf4j
    public class KevinAspect {
        private long startTime;
        private long endTime;

        /**
         * 声明一个切点
         */
        //@Pointcut("execution(* geektime.spring.springbucks.repository..*(..))")
        @Pointcut("execution(* geektime.spring.springbucks.service..*(..))")
        private void kevin(){
            log.info("Pointcut startTime:{},endTime:{}" ,startTime, endTime);
        }

        /**
         * 程序执行之前
         */
        @Before("kevin()")
        public void before(){
            this.startTime = System.currentTimeMillis();
            log.info("before startTime:{},endTime:{}" ,startTime, endTime);
        }

        /**
         * 程序执行之后
         */
        @After("kevin()")
        public void after(){
            this.endTime = System.currentTimeMillis();
            log.info("after startTime:{},endTime:{},程序执行时间->{}ms" ,startTime, endTime,endTime-startTime);
        }

        @Around("kevin()")
        public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable{
            log.info("around startTime:{},endTime:{}" ,startTime, endTime);
            return proceedingJoinPoint.proceed();
            // return null;
        }

    }


    2019-03-20 15:16:57.491 INFO 9888 --- [ main] g.spring.springbucks.aspect.KevinAspect : around startTime:0,endTime:0
    2019-03-20 15:17:05.770 INFO 9888 --- [ main] g.spring.springbucks.aspect.KevinAspect : before startTime:1553066225770,endTime:0
    2019-03-20 15:17:05.778 INFO 9888 --- [ main] g.s.springbucks.service.CoffeeService : 方法执行test- > 测试返回false
    2019-03-20 15:17:05.778 INFO 9888 --- [ main] g.spring.springbucks.aspect.KevinAspect : after startTime:1553066225770,endTime:1553066225778,程序执行时间->8ms



    展开

    作者回复: 那方法是用来声明Pointcut的,并不会执行里面的内容,所以一般我们都写个空方法

    
    
我们在线,来聊聊吧