我正在构建一个依赖注入(inject)框架,该过程的一部分包括循环遍历类路径中的所有类文件,并将用特定注释注释的类存储在枚举对象中。就依赖注入(inject)而言,当加载一个类时,它会找到所有 @inject 符号,然后搜索所有包含 @injectResource 符号的类,然后返回我执行 DI 部分所需的方法值。
我的问题是,在编译时构建枚举类列表似乎更合理,这样当我的注入(inject)字段需要搜索这些类时,我不必每次都搜索项目中的每个类。
我想我将在编译时通过 servlet 配置构建类列表,但是我可以在哪里存储这个“全局”列表,以便我可以在整个项目中重复访问它?
我突然想到,在编译时我将创建一个包含枚举列表的静态类,但我不喜欢使用静态类,并且我不确定这是否是最重要的最佳方法。
最佳答案
你可以使用Servlet Context,顺便问一下,为什么每次创建一个新类时都要重新扫描所有类呢?为什么不保留对类的引用一次并使用它们(而不是对类列表进行硬编码)?
关于java - 在运行时通过全局变量迭代特定类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9549800/