小白的进阶之路7

注解:

昨天学了配置文件,感觉还不错,确实之前new的方式好了很多,今天继续学习注解。

OK,开始进的入门案例

第一步,配置扫描注解,

注意:其中base-package  后面的参数是应new的对象所在包。

第二步,在需要注解的实体类加上注解。

第三步

 就是和之前一样。。。。

根据刚才的小例子,我测试了一下,发现了有错误,but…我语法没错啊。。。

在我各种调试之后发现,缺个jar包,只有配置文件的六个jar包是不够的,  jar包害死人啊!还有需要一个aop的jar包。

@component有三个衍生注解,分别管理web层(@controller),dao层(@repository),和service层 (@)

属性注入:@Value 注入普通数据类型     

@ Autowire         注入的对象类型   +@Qualifier    强制使用名称注入

@resource=@ Autowire ++@Qualifier(此注解属于java注解)

一般情况下实体类和实现类要加注解,而接口就不需要直接。

这是用到了service类注解。

进入下一阶段,aop面向切面编程

举个例子,需要对目标文件进行修改或提高,恻然这时就需要采用动态代理,而所谓的动态代理就是在不改变的情况下,给源码外层加上一个保护层,里面可以写增强代码,动态代理有两种方式,第一种就是jdk动态代理,在有接口的情况下使用此方式,第二种动态代理是cglib,在没有接口的情况下使用子类代理。

扩展一下,一般大型公司完成项目的流程是service接口,实现类,dao接口,dao层最后是web层,,而小公司的项目就是很直接的方式  jsp--》action--》service--》dao

AOP的相关术语:连接点(joinpoint):比如备选的要增强的方法,add,delete,update,select,

        切入点(cutpoint):比如要增强的方法,以上列举的一个或多个

        增强(advice),织入,目标,介绍,切面。

aop主要是利用配置文件去配置,需要从注解的思想中跳出来。

切入点表达式:execution(public * 包名。方法名())

切入点分为:前置通知:方法执行之前增强

后置通知   after-return:方法执行之后增强,若遇到异常则不增强

最终通知:无论异不异常,都是在最后增强

异常通知:

环绕通知;

敲代码的意义是什么???

怎样才能学好它??

猜你喜欢

转载自www.cnblogs.com/hanmengdi/p/9416447.html