AOP通常会实现注释吗,它们可以“进行”去掺杂注射吗?

| Spring Framework中的注释如何实现?它们是通过使用依赖注入或面向方面的编程来实现的吗? 我以为他们会使用AOP,因为带注释的内容会完成其他地方指定的操作。另一方面,类似“ 0”的是IS依赖注入-嗯,也许注释基于AOP并且可以实现去掺杂注入?它是否正确? 我只是在考虑它,因为我正在阅读有关春天的主要部分:di和aop 我想知道这些注释属于哪里。     
已邀请:
注释不做任何事情,代码可以使用注释做事,这是一个巨大的差异。 我建议您阅读Java教程中的Annotations,以了解有关注释的信息。 基本上,有三种处理注释的方法(可能有更多,但我知道三种): 编译前注释 处理中 AspectJ Pointcut匹配(在编译时进行匹配,在运行时进行评估) 反射(使用
AnnotatedElement.getAnnotation(annotationtype)
) Spring使用Reflection读取注释值,然后注入依赖项或添加AOP建议(以及更多其他内容)。但是,如果您在Spring中使用静态AspectJ编译,则切入点中会使用某些相同的批注。     
在Spring的上下文中(不仅是,这就是您要解决的问题),注释仅仅是元数据-与代码相关的信息。它们只是对XML元数据的方便(或不方便)替代,它具有相同的作用:例如,声明应使用给定参数调用给定setter。批注和XML元数据之间的主要区别在于批注与代码捆绑在一起,因此它们可以用作方便的默认值,而您仍然可以使用XML bean定义覆盖它们。 为了使“工作完成”,对代码进行批注是远远不够的(因为编写XML应用程序上下文描述符还远远不够。您需要某种类型的bean工厂/应用程序上下文,能够读取该元数据并执行所需的任何操作。     
Spring可以识别一些JSR-250批注,并创建一个动态代理,例如@PostConstruct和@PreDestroy。这是在容器启动期间完成的。 DI类型注释是通过诸如和的上下文指令发现的。由于DI发生在bean后处理之前,因此不需要代理。 春季项目中的注释(超过470个)-http://gordondickens.com/wordpress/2011/05/20/annotation-reference-for-spring-projects/     
它们是可排序的-单击内容下方的链接以转到Google Spreadsheet。 这将允许您对它们进行排序。 顺便说一下,现在有500多个注释(最近添加了Hibernate 3)。 我计划在有更多时间集中精力时添加更多细节,包括: 注释参数 注释使用说明     

要回复问题请先登录注册