class A中调@Resource("name")注入了class B,class B使用@Component("name")发布为了bean,现在我class C继承class B,问 在class A和class B都没办法改的情况下,有什么办法能让A那里注入class C (C不一定要继承B 我只是想改掉B中的一个方法,但是现在A和B都不能修改)
虽然我记得不是很清楚了,但是你可以看看动态代理
如果A和B不能改的话,调用A的类需要改。
现状
public class A {
public void printA(){
new B().printB();
}
}
public class B {
public void printB(){
System.out.println("Method B");
}
}
public class MAIN {
public static void main(String[] args) {
new A().printA();
}
}
增加
public class AB extends A {
@Override
public void printA() {
new BB().printB();
}
}
public class BB extends B {
@Override
public void printB() {
System.out.println("Method BB");
}
}
修改
public class MAIN {
public static void main(String[] args) {
new A().printA();
// new AB().printA();
}
}
以上仅供参考。