【发布时间】:2020-01-03 16:37:37
【问题描述】:
如您所知,注释驱动的编程越来越多地融入我们现在使用的大多数框架(即 Spring、Lombok 等)中。
此外,我们有时需要创建自定义注解。 (例如,使用方面记录给定类的所有公共方法的进入/退出跟踪 - @LogAroundMethods)
因此,给定的类可以包含大量注释。
@LogAroundMethod // My custom annotation
@Slf4j // Lombok annotation
@Component // Spring annotation
public class ClientNotificationProxy {
//Code
}
@LogAroundMethod // My custom annotation
@Configuration // Spring annotation
@ConditionalOnClass(NotificationSender.class) // Spring annotation
@EnableConfigurationProperties(MessagingProperties.class) // Spring annotation
@Import({ MongoConfiguration.class, SpringRetryConfiguration.class }) // Spring annotation
public class StarterClientAutoConfiguration {
// Code
}
- 推荐的注释顺序是什么?
- 特定订单是否有任何影响或好处?
【问题讨论】:
-
注释扫描器的顺序可能会影响事情;每个扫描仪都在寻找自己的注释。怪异:5个注释,然后
{}。 -
@JoopEggen,感谢您的评论。该课程包含我从问题中删除的几行。 (因为我们专注于注释)
-
由于用于获取类注解的 Java 反射 API 不保证返回注解的任何特定顺序,所以 问题没有实际意义。
-
这是不正确的,安德烈亚斯。 docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/… 解释了订单的计算方式。
标签: java spring spring-boot annotations lombok