2016-09-03 3 views
-3

У меня есть абстрактный класс, определенный в src/java проекта grails. Услуга grails расширяет этот абстрактный класс. Но после расширения абстрактного класса никакой компонент не создается для службы, и он вызывает исключение nullpointer при доступе к объекту службы.Проблема с созданием бобов после расширения абстрактного класса в servie

Абстрактный класс в Src/Java ниже

public abstract class MyAbstractClass { 

    public abstract Boolean[] abstractMethod(final A a); 
} 

Grails Класс обслуживания ниже.

class XYZService extends MyAbstractClass { 

    def someService 

    @Override 
    public Boolean[] abstractMethod(final A a) { 
    println “Did something” 
    return null 
    } 
} 

Бин службы XYZService не создается. добавление «def xyzService» в контроллер не вставляет объект XYSService.

Пожалуйста, сообщите, что может случиться с этой настройкой? Отсутствует какая-либо конфигурация?

+1

Недостаточно ввода. Возможно, ваш абстрактный класс ... просто содержит ошибку. Мы не можем помочь исправить исходный код, если вы не опубликуете его. В отличие от популярных людей, мы здесь не волшебники. Мы ** не знаем, как выглядит ваша установка. – GhostCat

+0

Обновите мой код сейчас. Посмотрите, что может быть проблемой сейчас. – Raghav

+0

Подпись 'public Boolean [] abstractMethod (final A a);' is distint to public public Boolean [] processClientData (final A a) {', потому что имя' "abstractMethod" 'не равно" processClientData "'! –

ответ

0

Нашли решение. Добавлена ​​аннотация @Component для создания компонента в службе Grails, и это сработало. Не уверен, что это правильный путь, поскольку услуги Грайла идеально должны управляться самими граалями, но это, похоже, работает.

Смежные вопросы