什么是“觉知”?我应该在什么时候加入我的班级名称?
2022-09-02 03:57:19
有时,我会发现一些类名,包括 Aware,如和(弹簧)。这个觉知有什么特殊的含义,还是一个著名的规则?ApplicationContextAware
MessageSourceAware
有时,我会发现一些类名,包括 Aware,如和(弹簧)。这个觉知有什么特殊的含义,还是一个著名的规则?ApplicationContextAware
MessageSourceAware
这些不是类,是接口。这个名字只是Spring的一个约定,意思是如果一些特殊的框架对象由框架管理,它将被注入到该类中。
直接来自 ApplicationContextAware 的文档:
接口将由任何希望通知运行它的应用程序上下文的对象实现。
在这种情况下,实现此接口的 Bean 将获得对管理应用程序的 ApplicationContext 的引用。
将“aware”等形容词附加到末尾是一种通常用于 Java 接口的命名方案。然后,这可以通过类来实现,结果是人类阅读起来更流畅的代码,例如
class Broker implements ApplicationContextAware { /* ... */ }
在这里,很容易看出这个类是某些东西的代理,并且它知道如何处理应用程序上下文。除此之外,从Java(编译器)的角度来看,“Aware”后缀没有特殊含义。