2017计算机二级考试Java重点内容
Java考试一般会考什么呢?重难点在哪里呢?一起来看看看计算机二级考试Java重点内容吧,学习学习!
1.AOP的概念及优点
Aspect Oriented Programming面向方面编程.
面对象编程的关注点是对象,面向方面编程以面向对象编程为基础,关注点是切面,切面组件可以作用在若干目标对象的方法上,封装了具有通用性的一些处理.例如日志记录,事务处理,异常处理等等.
面向方面编程优点:将共通处理封装成了一个独立组件,利用配置形式作用在了某一批目标对象上,实现组件的重复利用,将切面和目标对象解耦,实现了低耦合应用.
*a.切面Aspect
封装了共通处理的组件,可用于切入到目标对象的处理方法中
*b.切入点Pointcut
用于指定目标对象和方法的一个表达式.是连接点的集合.
连接点是切面组件与某一个目标对象方法的作用点,例如方法调用和异常发生
*c.通知Advice
用于指定切面功能切入目标对象方法的位置.例如切入到目标方法调用之前,目标方法调用之后等.
通知类型:前置通知,后置通知,环绕通知,最终通知,异常通知
try
//执行前置通知
//执行环绕通知--前置
执行目标对象方法
//执行环绕通知--后置
//执行后置通知
catchException ex
//执行异常通知
finally
//执行最终通知
d.目标对象Target
需要使用切面功能的,被切入的Bean对象.使用切入点表达式指定
e.动态代理AutoProxy
在Spring采用了AOP之后,从容器取出的目标对象是一个动态代理类型,调用代理对象方法时,代理对象会调用切面功能和目标对象功能.
动态代理类生成技术:
有接口的目标对象采用JDK Proxy技术.
没有接口的目标对象采用CGLIB技术.
2.切入点表达式的.定义
1方法限定execution
execution修饰符? 返回类型 方法名参数类型 throws 异常?
a.匹配com.tarena.UserDAO的save方法
execution* com.tarena.UserDAO.save..
b.匹配com.tarena.UserDAO的所有方法
execution* com.tarena.UserDAO.*..
c.匹配com.tarena.UserDAO的所有public void方法
executionpublic void com.tarena.UserDAO.*..
d.匹配com.tarena包下所有类型的所有方法
execution* com.tarena.*.*..
e.匹配com.tarena包下及其子包所有类型的所有方法
execution* com.tarena..*.*..
f.匹配UserDAO中有一个参数并且是String类型的方法
execution* com.tarena.UserDAO.*java.lang.String
2类型限定within
within类型
a.匹配com.tarena.UserDAO的所有方法
withincom.tarena.UserDAO
b.匹配com.tarena包下的所有类的所有方法
withincom.tarena.*
c.匹配com.tarena包下及其子包的所有类的所有方法
withincom.tarena..*
3id名限定bean
beanidOrName属性值
a.匹配容器中所有id或name属性值以dao结尾的bean对象
bean*dao