У меня есть абстрактный базовый класс, который я использую для сервисов, который включает реализацию различных методов, и один абстрактный метод.У меня есть несколько тесно связанных сущностей, которыми я хотел бы управлять в рамках одного сервиса, поэтому я планирую, чтобы этот сервис был составом анонимных реализаций абстрактного базового сервиса для этих сущностей.Я хотел бы внедрить реализацию Dao в реализацию анонимного сервиса.Я попытался сделать что-то вроде этого.
@Configurable
@Service( value="compositeService" )
public class CompositeServiceImpl
extends BaseDataServiceAbstract<AnotherEntity, Long>
implements CompositeService
{
BaseDataServiceAbstract<MyObject, Long> myObjectService =
new BaseDataServiceAbstract<MyObject, Long>() {
@Resource( name="myObjectDao")
BaseDao<MyObject, Long> myObjectDao;
@Override
public BaseDao<MyObject, Long> getDao()
{
return myObjectDao;
}
};
// other implementation methods and stuff
}
Если я сделаю это таким образом, Дао не будет введен.Если я перемещу дао в содержащий класс, то он работает нормально.Я в порядке, оставив его в содержащем классе, но не знаю, что нужно сделать, чтобы внедрить его в реализацию анонимного класса.