Я понял, что повторение экземпляра весеннего боба области @Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
, кажется, вызывает новый экземпляр компонента, когда тот же экземпляр получает ссылку.Как использовать сеттеры весной
Например:
@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
class Item {
.....
}
@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
class A {
private Item item;
public void setItem(Item item) {
this.item = item;
}
public void method() {
item.doSomething();
}
}
@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
class B {
@Autowired
private A a;
@Autowired
private Item item;
void bMethod() {
a.setItem(item);
a.method();
}
}
Экземпляр A
в a.setItem(item);
кажется, отличается от такового в a.method();
, тем самым делая невозможное, чтобы использовать методы доступа в бобах с охватом @Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
.
Является ли это ожидаемым поведением? У меня отсутствует понимание относительно использования @Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
?