java - 用于自定义类初始化的轻量级类加载器?

标签 java ioc-container classloader

我想将一些数据注入(inject)静态类字段,这些字段是从大量 XML 文件生成的。

class Foo {
    ...
    static MetaData xxx; 
    static MetaData yyy; 
}

注入(inject)非常简单,它找到Foo.properties并解析xxx、yyy属性,然后构造MetaData实例。

我不确定 IoC 容器是否可以帮助完成这项任务,但似乎没有。

因为,Foo 可能被 IoC 容器未加载的类使用。

我的想法是,修改上下文类加载器,添加一些基于反射的具体类初始化代码。

有什么想法吗?

编辑 有很多 IoC 容器,我猜其中一些可能支持初始化扩展。

最佳答案

xxx, yyy 在惰性模式下初始化。

如:

private static MetaData xxx=null;
public static MetaData getXXX(){
    if(xxx=null){
       xxx=parse("Foo.properties");
    }
    return xxx;
}

如果 Ioc 对于您的程序来说是必须的,BeanPostProcessors Spring 可以是一个选择。您可以在 BeanPostProcessor 中解析文件并创建 MetaData 对象。

关于java - 用于自定义类初始化的轻量级类加载器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755291/

相关文章:

java - 从 for 循环打印元素

c# - 如何注册类型不同的参数构造函数[Unity IoC]

asp.net-mvc - 在通用存储库中定义默认构造函数 Structuremap

java - 为什么自定义系统类加载器不工作?

java - 将数据从一个 Activity 传递到另一个 Activity ,然后打印

java - 尝试使用 Google 登录凭据在 Firebase 上重新进行身份验证时出错

java - 如何使用java在露天以编程方式获取相关(对等关联)节点?

visual-studio - 企业应用程序中的 Ioc 容器放置

java - 使用自定义类加载器配置 org.apache.log4j.ConsoleAppender

java - 当类在文件系统上更改时如何使用 Java Instrumentation API 重新加载类?