当前位置: 首页 > 面试题库 >

Java面向方面的编程

时同
2023-03-14
问题内容

Java面向方面的编程的最佳工具是什么?

该工具的要求当然是IDE支持,表达能力和适当的文档。


问题答案:

JBossAOP和AspectJ是AOP的两个常用的成熟框架。另一个流行的选择是Spring AOP,但它缺少其他两个功能。

JBossAOP和AspectJ都具有相似的功能,一个很大的不同是AspectJ依赖于Java语言的扩展,而JBoss AOP则没有。

如果您的AOP要求非常简单,那么也值得考虑使用字节码操作库,例如ASM。我已经使用ASM来实现简单的“周围建议”(即,在方法调用之前和之后注入的代码),并且它被证明是JBossAOP的一种更轻量级的替代品。ASM的设计经过精心设计,并有据可查。



 类似资料:
  • 问题内容: 在Android应用程序中实现面向方面的编程(AOP)的最佳方法是什么? 行动电池会更有效吗? 问题答案: 这取决于它的实现方式。 例如,AspectJ的编译时编织可在android上运行,而运行时编织则不行。Android不支持字节码生成。 检查Guice Wiki: 在后台,方法拦截是通过在运行时生成字节码来实现的。Guice动态创建一个子类,该子类通过覆盖方法应用拦截器。如果您使

  • 问题内容: 可能重复: 是否有适用于Python的AOP支持库? 我熟悉Java语言的扩展。 我想知道Python是否有这样的事情。 不要误会我的意思,我不是说库,而是像Java一样的语言扩展。 问题答案: Python不需要像“语言扩展”之类的东西就可以以面向方面的方式工作。 那仅仅是由于Python本身的动态机制。Google搜索将产生几个项目-但尽管看起来仅像库,但这是Python所需的全部

  • Aspect Oriented Programming (AOP,面向切面编程) 在 Objective-C 社区内没有那么有名,但是 AOP 在运行时可以有巨大威力。 但是因为没有事实上的标准,Apple 也没有开箱即用的提供,也显得不重要,开发者都不怎么考虑它。 引用 Aspect Oriented Programming 维基页面: An aspect can alter the behav

  • JFinal AOP 参考文档:https://jfinal.com/doc/4-6 JBoot AOP JBoot AOP 在 JFinal AOP 的基础上,新增了我们在分布式下常用的功能,同时借鉴了 Spring AOP 的一些特征,对 JFinal AOP 做了增强,但是又没有 Spring AOP 体系的复杂度。 @Inject 我们可以通过 @Inject 对任何 Bean 的属性进行

  • 面向对象编程方法 uCore设计中采用了一定的面向对象编程方法。虽然C 语言对面向对象编程并没有原生支持,但没有原生支持并不等于我们不能用 C 语言写面向对象程序。需要注意,我们并不需要用 C语言模拟出一个常见 C++ 编译器已经实现的对象模型。如果是这样,还不如直接采用C++编程。 uCore的面向对象编程方法,目前主要是采用了类似C++的接口(interface)概念,即是让实现细节不同的某类

  • 在Python的类中有很多方法的名字有特殊的重要意义。现在我们将学习__init__方法的意义。 __init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线。 使用__init__方法 例11.3 使用__init__方法 #!/usr/bin/python # Filename: class_init.py c