Есть два варианта использования, о которых я могу думать прямо.
в качестве внутреннего компонента
<bean id="outer" class="foo.bar.A">
<property name="myProperty">
<bean class="foo.bar.B"/>
</property>
</bean>
в качестве конфигуратора статических свойств
public class ServiceUtils {
private static Service service;
private ServiceUtils() {}
...
public static void setService(Service service) {
this.service = service;
}
}
public class ServiceConfigurer {
private static Service service;
private ServiceUtils() {}
...
public void setService(Service service) {
ServiceUtils.setService(service);
}
}
Теперь этот класс можно настроить следующим образом.
<bean class="foo.bar.ServiceConfigurer">
<property name="service" ref="myService"/>
</bean>
Кроме того, если существует компонент, от которого не зависит ни один компонент, например RmiServiceExporter или MessageListenerContainer, тогда нет необходимости, кроме ясности кода, чтобы дать этому бину имя.