Контейнер Blueprint не будет инициализирован до тех пор, пока не будут выполнены все его обязательные зависимости: см. Инициализация контейнера Blueprint из спецификации Blueprint.
Следовательно, вы не можете использовать <reference>
для службы, которая публикуется только из того же контейнера, поскольку фактически существует циклическая зависимость. Конечно, ваш контейнер запустится, если есть соответствующая DataSource
служба из другого пакета.
Однако вам не нужно обращаться к услуге. Просто введите боб zOltpDataSource
непосредственно в боб zDao
следующим образом:
<bean id="zDao"
class="com.h.h.common.dao.ZDaoImpl">
<property name="dataSource" ref="zOltpDataSource" />
</bean>