首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java每日一题_关于SpringAOP

题目 ID:javaxxf

(单选题) 关于AOP错误的是?

A、AOP将散落在系统中的“方面”代码集中实现

B、AOP有助于提高系统可维护性

C、AOP已经表现出将要替代面向对象的趋势

D、AOP是一种设计模式,Spring提供了一种实现

答案解析 ID:javaxxf

正确答案是C

AOP的概念是Aspected Oriented Programming 面向方切编程。

好处:AOP将程序分解成各个方面或者说关注点。这使得可以模块化,相当横向上分切了。它可以解决OOP和过程化方法不能够很好解决的横切(crosscut)问题,如:事务、安全、日志等横切关注

实现AOP有几种方式:

1. Spring 1.2版本中通过ProxyFactoryBean来实现aop,即通过动态代理来实现的,Aspect必须继承MethodBeforeAdvice,MethodAfterAdvice等

2. Spring 2.0 AOP需要改的是FBI 这个类,而且它也不需要再实现某些接口

3. 三使用标注(@AspectJ)实现AOP

AOP 和 OOP的区别:

1. 面向切面编程 AOP 偏重业务处理过程的某个步骤或阶段,强调降低模块之间的耦合度,使代码拥有更好的移植性。

2. 面向对象编程 (oop) 则是对业务分析中抽取的实体进行方法和属性的封装。

也可以说 AOP 是面向业务中的动词领域, OOP 面向名词领域。

AOP 的一个很重要的特点是源代码无关性,也就是说如果我们的系统中引用了 AOP 组件,即使我们把该组件去掉,系统代码也应该能够编译通过。要实现这一点,可以使用动态 proxy 模式。

AOP将散落在系统中的“方面”代码集中实现;AOP有助于提高系统可维护性;AOP是一种设计模式,Spring提供了一种实现;

推荐阅读目录

Java学习求职路线(资料、视频、源码、项目实战)

程序员用这5种方式学习编程最无效,停止这些可以少走弯路!

大学毕业刚培训完Java,没有经验怎么找工作呢?

⊙请问你知道什么是栈吗?

⊙看看你对队列的了解有多少?

⊙面试题68(加深你对栈的理解_让你知道什么是栈)

⊙来测试一下你对数据结构中的栈和队列的了解有多少?

⊙面试题63(链表,哈希表)

⊙ 请你对Java中树的了解有多少?

这个培训机构怎么?

JavaEE就业学习路线(给初学者以及自学者一个学习方向)?

Servlet实现一个简单的登录【验证码】功能

二维码生成源码

java学习微信讨论群

Spring学习笔记

Mybatis学习笔记

下一篇
举报
领券