对于Spring的AOP的实现方式,下列选项说法错误的是()。(多选)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于Spring的AOP的实现方式,下列选项说法错误的是()。(多选)相关的知识,希望对你有一定的参考价值。

A、Spring的advice采用特定的AOP语言,在定义pointcuts时不可以使用配置文件。
B、以实现接口的方式作为优先,这样可以降低应用程序组件之间的耦合程度。
C、spring不支持属性成员的jointpoints。
D、以上说法都正确。

选AD。

A错在advice就是用配置实现的,或者用annotation。

advice可以理解成是切面里写的具体的代码,pointcut可以理解为这些代码要放到程序的哪个地方,一版pointcut配合expression表达式来一起用。

在Spring中Advisor是Advice和Pointcut的结合,但它还不是AOP概念上的Aspect。因为在Spring中Advisor还是Spring用来生成Aspect对象的一个原型,根据配置的不同,Spring可以只对某个类生成Aspect,也可以对所有的类生成Aspect。

扩展资料:

Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。

它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。

Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。

参考资料来源:百度百科-spring

参考技术A 选AD,
A:错在advice就是用配置实现的,或者用annotation.
D:错就不用说了吧,
其它的,应该都是对的。本回答被提问者和网友采纳

Spring 青鸟云题库

 

 

 

 

 

 

 

@Autowired默认byType,@Resource byname

此题考察的是SpringIoC三种注入方式。 SpringIoC三种注入方式:接口注入,设值注入,构造注入,没有指针注入这一说法。因此d选项是错误的。 因此答案选择d

 

 

我一直以为关注的是点记住选AD

此题考查的是AOP的相关概念。 为什么不选b,因为Spring用代理类包裹切面,把他们织入到Spring管理的bean中,所以是面向横向的。所以b选项错误。 为什么不选c,因为代理类伪装成目标类,它会截取对目标类中方法的调用,让调用者对目标类的调用都先变成调用伪装类,伪装类中就先执行了切面,再把调用转发给真正的目标bean。所以它关注的是面,不是点。所以选项错误。 因此答案选ad

 

 

此题考查的是Spring-面向切面编程通过aop命名空间将JavaBean中的方法声明为增强处理,abc说法正确,如果目标方法返回void值,则该增强处理也会被执行。D说法有误,所以正确答案是d。

 

 如果在MyBatis-CongigLocation.xml逐个列出所有的sql映射文件,比较繁琐,可以利用SqlSessionFactoryBean的mapperLocations属性扫描式加载SQL映射文件,可以才用*作为通配符的形式,一次加载多个SQL映射文件,但是在集成时还是需要配置MyBatis-CongigLocation.xml,故此题应该选d

 

 

只要记住构造器初始索引为0即可。

 

此题考查的是Spring实现AOP的不同方式的比较。 静态织入是在编译期,切面直接以字节码形式编译到目标字节码文件中,对系统性能无影响,但不够灵活。动态代理是在运行期,目标类加载后,为接口动态生成代理类,将切面织入到代理类中,需要实现接口,更灵活。所以A、B错误。动态字节码生成的原理是在运行期,目标类加载后,动态构建字节码文件生成目标类的子类,将切面逻辑加入到子类中,优点是没有接口也可以织入但扩展类的实例方法为final时,无法进行织入;自定义类加载器的原理是,在运行期目标加载前,将切面逻辑加到目标字节码里,可以对绝大部分类进行织入,代码中若使用了其它类加载器,则这些类将不会被织入。

选AB

选C

 <p>Spring的加载顺序最开始是构造函数,一次ad是错误的,构造函数执行完依赖注入,再到init-method,因此也是错误的,c是正确的</p>

 

 

 

 

选项C正确。ABD均是用于IoC的定义Bean的注解

 

 

D选项错误,defaultReadOnly:设置数据源是否仅能执行只读操作, 默认值为 false

 

 

 

sqlsessionFactory不需要在Spring中配置

 

以上是关于对于Spring的AOP的实现方式,下列选项说法错误的是()。(多选)的主要内容,如果未能解决你的问题,请参考以下文章

Spring AOP四种实现方式Demo详解与相关知识探究

Spring AOP四种实现方式Demo详解与相关知识探究

3-23(还剩寥寥数日)

Spring 青鸟云题库

spring框架学习6:spring-aop的五种通知类型

Spring中的AOP概念