什么是"意识到"?我什么时候应该加入我的班级名称?

zon*_*ono 18 java spring naming-conventions

有时候,我找到了一些类名,包括感知,如ApplicationContextAwareMessageSourceAware(春季).这个Aware有什么特别的含义还是一个着名的规则?

mdr*_*drg 16

那些不是类,是接口.这个名称只是Spring上的一个约定,意味着如果一个特殊的框架对象由框架管理,它将被注入该类.

直接来自ApplicationContextAware的文档:

希望被通知其运行的ApplicationContext的任何对象实现的接口.

在这种情况下,实现此接口的bean将获得对管理应用程序的ApplicationContext的引用.

  • @yusaku可能,这不是一个很难的规则.意识大多是Spring大会,我建议不要在你自己的类名中使用它,除非你有充分的理由.春天基本上说它使用"Aware"是"这个类现在意识到它是由Spring管理的".通常,您希望避免直接使用这些接口来防止代码依赖于Spring Framework.它们用于处理类必须直接与Spring容器交互的独立情况. (2认同)

Wal*_*inz 5

最后将诸如“ aware”之类的形容词附加到Java接口通常使用的命名方案中。然后可以通过类来实现,结果是使代码更易于人类阅读,例如

class Broker implements ApplicationContextAware { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

很容易看出该类是某些事物的代理,并且知道如何处理应用程序上下文。除此之外,从Java(编译器)的角度来看,“ Aware”后缀没有特殊含义。