java - 在运行时通过全局变量迭代特定类

标签 java servlets annotations

我正在构建一个依赖注入(inject)框架,该过程的一部分包括循环遍历类路径中的所有类文件,并将用特定注释注释的类存储在枚举对象中。就依赖注入(inject)而言,当加载一个类时,它会找到所有 @inject 符号,然后搜索所有包含 @injectResource 符号的类,然后返回我执行 DI 部分所需的方法值。

我的问题是,在编译时构建枚举类列表似乎更合理,这样当我的注入(inject)字段需要搜索这些类时,我不必每次都搜索项目中的每个类。

我想我将在编译时通过 servlet 配置构建类列表,但是我可以在哪里存储这个“全局”列表,以便我可以在整个项目中重复访问它?

我突然想到,在编译时我将创建一个包含枚举列表的静态类,但我不喜欢使用静态类,并且我不确定这是否是最重要的最佳方法。

最佳答案

你可以使用Servlet Context,顺便问一下,为什么每次创建一个新类时都要重新扫描所有类呢?为什么不保留对类的引用一次并使用它们(而不是对类列表进行硬编码)?

关于java - 在运行时通过全局变量迭代特定类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9549800/

相关文章:

django - 注释在 Django/Tastypie 中被忽略

java - 在安装 Eclipse/ADT 之前在 Linux 上配置 Android SDK?

java - Struts 数据库列表未显示在 JSP 页面中

java.net.MalformedURLException java.net.URL.<init>(来源未知)

Java @FinalArgs 注释 - 如何?

java - 检查派生类是否有来自父类(super class)的注解

java - 第一次鼠标拖动移动

java - 从 java 文件中读取 N 行?

java - 如何在转发时将请求参数从一个 servlet 传递到另一个

java - 我可以缓存一个 HTML img,它的源指向一个动态生成它的 java servlet 吗?