在Java中存储静态映射

时间:2014-05-29 02:19:37

标签: java oop design-patterns

我需要存储一个类的静态映射,这是我事先知道的。

情况 - 我有很多样式,每个样式都有相应的装饰器。这个映射在编译时是我所知道的,我希望以某种方式存储此映射以在运行时查询以加载样式的适当装饰器。存储此类映射的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用自定义或JSR-250注释来注释您的类。然后,您的框架代码可以扫描类路径以在运行时建立关系。

Spring使用这种方法(以及其他方法)在编译时定义依赖项并在运行时构建上下文。

一个例子可能是这样的:

@Decorator("MyDecorator")
public class MyStyle implements Style...

Spring还提供了使整个扫描过程更简单的类,例如:

http://docs.spring.io/spring/docs/2.5.6/api/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.html