我有一个包含属性
的A类class A{
String valA;
}
我有两个B和C类,它们引用了A类
class B{
@Autowired
private A aaa;
}
class C{
@Autowired
private A aaa;
}
A类中的valA是属性驱动的,应该取决于实际调用它的类。
如果B类正在调用它,它应该是属性文件中定义的b.property 对于C类,值为c.property
这是否可以在不使用XML配置和仅注释,SPEL等
的情况下执行此操作先谢谢
答案 0 :(得分:0)
您需要两个不同的A实例(一个用于B,一个用于C),因为您无法根据调用A的方式更改A中属性的值*。
查看concept of qualifies,了解它们如何用于区分同一类的两个实例。
footenote * 当然你可以根据A的调用方式更改A中的参数,但这需要大量的技术代码和一些黑客攻击。并且应该不是您希望在春季应用程序中拥有的代码。