200 likes | 535 Views
1. 面向方面编程的全称是? Object Oriented Programming Object Oriented Analyzing Aspect Oriented Programming Object Oriented Design. 难度:★. (C). 2. 采用 AOP 方式开发与传统方式开发相比存在哪些优点 ? 可以将混杂在业务逻辑代码中的辅助功能代码剥离出来 使代码结构清晰 程序员可以将更多的精力集中于解决业务逻辑 以上皆是. 难度:★ ★. (D). 3. 以银行帐户转账为例,以下不适合作为方面来处理的是 ? 事务管理 日志管理
E N D
1.面向方面编程的全称是? • Object Oriented Programming • Object Oriented Analyzing • Aspect Oriented Programming • Object Oriented Design 难度:★ (C)
2.采用AOP方式开发与传统方式开发相比存在哪些优点 ? • 可以将混杂在业务逻辑代码中的辅助功能代码剥离出来 • 使代码结构清晰 • 程序员可以将更多的精力集中于解决业务逻辑 • 以上皆是 难度:★ ★ (D)
3.以银行帐户转账为例,以下不适合作为方面来处理的是 ? • 事务管理 • 日志管理 • 权限控制 • 转账操作 难度:★ ★ (D)
4.Spring AOP是通过——实现? • 在编译代码的时候将通知织入 • 代理机制 • 控制反转 • 上面都不是 难度:★ ★ ★ (B)
5.在spring AOP进行代理的时候,利用JDK可以代理的目标是? • 接口 • 普通类 • 抽象类 • 均可 难度:★ ★ (A)
6.关于动态AOP与静态AOP的描述,错误的是?(多)6.关于动态AOP与静态AOP的描述,错误的是?(多) • SpringAOP属于动态AOP • AspectJ属于静态AOP • 静态AOP的执行效率要高于动态AOP • 静态AOP的实现方式是采用代理 • 静态AOP的灵活性高于动态AOP方式 难度:★ ★ ★ (D,E)
7.下面不能被代理的是?并说明理由 • 普通类 • 接口实现类 • 抽象类 • 被Final掉的一个普通类 难度:★ ★ ★ ★ ★ (D) 因为一个被final掉的普通类既没有实现任何接口,也不能继承该类。
8.下面对切入点介绍不正确的是?(多) • 切入点是用来定义某一个通知该如何执行的一组联结点接口 • 一旦定义了切入点之后,通知内容将不能再更改 • 切入点可以解释为哪些地方可以织入通知,既where to do • 切入点就是spring中的advisor 难度:★ ★ ★ ★ (B,D)
9.在通过声明的方式定义代理bean的时候,如果想代理一个普通的bean,则必须要设置的参数有哪些?(多)9.在通过声明的方式定义代理bean的时候,如果想代理一个普通的bean,则必须要设置的参数有哪些?(多) • target • proxyInterfaces • interceptorNames • singleton 难度:★ ★ ★ ★ (A,C)
10.下面关于静态与动态切入点介绍错误的是? • 静态切入点只基于方法和目标类,而不关心方法的参数 • 动态切入点除了考虑方法和目标类以外,还需考虑方法的参数 • 静态切入点只在第一次调用方法的时候进行计算,并缓存计算结果 • 动态切入点的效率高于静态切入点,我们应该尽量使用 难度:★ ★ ★ (D)
11.下面关于通知的说法错误的是?(多) • 在特定联结点处执行的代码 • 通知一般为辅助性的功能,例如日志和事务的管理 • 通知与切入点是绑定在一起的 • 通知就是advisor 难度:★ ★ ★ ★ (C,D)
12.在使用前置通知的时候,是不能修改调用方法的参数的12.在使用前置通知的时候,是不能修改调用方法的参数的 • 对 • 错 难度:★ ★ ★ (B)
13.在使用前置通知的时候,想要阻止目标方法被调用的唯一途径是在通知中抛出异常13.在使用前置通知的时候,想要阻止目标方法被调用的唯一途径是在通知中抛出异常 • 对 • 错 难度:★ ★ ★ ★ (A)
14.关于后置通知的说法中,错误的是 • 后置通知在方法调用连接点返回后调用 • 后置通知不能修改原本程序的返回值 • 在后置通知中可以抛出异常 • 后置通知与前置通知实现的方法的参数是一样的 难度:★ ★ ★ ★ (D)
15.如果要实现一个包围通知,则需要实现下面哪个接口15.如果要实现一个包围通知,则需要实现下面哪个接口 • ThrowAdvice • MethodInterceptor • MethodBeforeAdvice • AfterReturningAdvice 难度:★ ★ (B)
16.关于包围通知,下面说法错误的是 • 包围通知是包围一个连接点的通知,既在连接点之前之后均可以加入额外的代码 • 包围通知可以像前置通知那样修改传递给目标方法的参数 • 包围通知可以修改目标方法的返回值 • 包围通知不允许阻止目标方法执行 难度:★ ★ ★ (D)
17.在使用抛出通知的过程中,可以拦截到的异常可以是17.在使用抛出通知的过程中,可以拦截到的异常可以是 • NullpointerException • Throwable • RuntimeException • 以上皆是 难度:★ ★ ★ (D)
18.在login的示例代码中,限制添加用户执行权限是用哪种通知方式实现?18.在login的示例代码中,限制添加用户执行权限是用哪种通知方式实现? • 包围通知 • 抛出通知 • 前置通知 • 后置通知 难度:★ ★ ★ (C)
19.Spring 中advisor的作用是将通知与切入点两者连接在一起,从而使通知和切入点均可通过定义不同的advisor达到重复使用的目的 • 对 • 错 难度:★ ★ (A)
20. 在spring提供的若干种切入点中,正则表达式切入点是比较常用的一种,请问正则表达式切入点属于哪一类切入点 • 静态切入点 • 动态切入点 难度:★ ★ ★ (A)