我使用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 运算符时,实例化的类永远不会被转换。
我希望我的所有课程都能被改造
仅供参考,我不能使用春季依赖注入