发表于: 2017-11-12 23:18:23

1 984


今天完成的事:

1、基于注解的DI

  <1>作用域scope,默认是单例模式singleton。

   <2>域属性注解Resource,没有赋值按类型匹配,赋值后按名称匹配。

   <3>域属性注入,按名称注入时必须有@Autowired

    <4>Bean生命始末

    <5>xml和注解同时存在时,xml优先级更高。

2、  AOP,面向切面编程,将交叉业务逻辑封装成切面,利用AOP容器将切面织人到主业务逻辑中,交叉业务逻        辑是指通用的与主业务逻辑无关的代码,如日志、事务安全检查等。

      切面Aspect,织入Weaving,连接点JoinPoint(业务中的方法都是连接点),切入点Pointcut,目标对象               Target(被增强的对象,包含主业务逻辑的对象),通知Advice(切面的实现),顾问Advisor。

<1>通知配置文件,AOP底层是用动态代理模式实现的。

<2>前置通知MethodBeforeAdvice(后置通知AfterReturningAdvice):在目标方法之前(之后)执行,不能改变执行流程,不能改变执行结果。后置通知可获结果。

 <3>环绕通知MethodInterceptor:可以在目标方法之前之后执行,可改变目标方法返回值。

<4>异常通知ThrowsAdvice:目标抛出异常后,根据情况处理,然后再将异常抛给目标方法。

throw将异常向上抛,最后会到JVM虚拟机。

cath将异常捕获,提示消息在控制台,虚拟机并不知道异常的存在。

遇到的困难:

IDEA用junit4时出现问题,明天再试试。

明天计划:

继续学习Spring。

收获:

学习了基于注解的DI,初步了解AOP。


返回列表 返回列表
评论

    分享到