java变换器代理不会在转换类中实例化的新类上调用

时间:2018-06-05 15:21:55

标签: java introspection transformer

我使用java Agent转换类并执行依赖注入。 我解析类文件,如果遇到带有某个注释的字段,我使用defineClass和newInstance创建一个新的字段实例。

class A {
    @Named("myObjectA")
    MyClass myObjectA;
    A() {
        B b = new B();
    }
}

class B {
    @Name("myObjectB")
    MyClass myObjectB;
}

如果我使用该代码,则转换MainClass和A类,但不转换为B类:

class MainClass {
    @Named("myClassA")
    A a;

    MainClass() {
    }
}

如果使用该代码,则转换主类,类A和类B:

class MainClass {
    A a;

    MainClass() {
        a = new A();
    }
}

在我看来,当在转换类中使用 new 运算符时,实例化的类永远不会被转换。

我希望我的所有课程都能被改造

仅供参考,我不能使用春季依赖注入

0 个答案:

没有答案