Могу ли я использовать фасоль в разных местах или в одном месте - PullRequest
0 голосов
/ 24 марта 2011

Предположим, у меня есть это в контроллере

@Resource(name="registrationService")
private RegistrationService registrationService;

Это работает нормально, и я могу использовать методы в классе обслуживания.

Теперь предположим, что у меня другой класс Java, и я хочу использовать методы в классе registrationService. так что я могу использовать то же самое там

@Resource(name="registrationService")
private RegistrationService registrationService;

и методы доступа, или я должен объявить другой боб весной с другим именем

Это функция из класса обслуживания

public String test(){   return "testing"; }

Теперь, если я вызову это в контроллере, все будет работать нормально.

Но у меня есть отдельный класс UserDAO для получения пользователей. Если я так сделаю

личный список internalDatabase () {

        List<Registration> users = new ArrayList<Registration>();
        Registration user = null;

            logger.debug("Before");
    logger.debug(registrationService.test());
    logger.debug("After");

            users.add(user);
        return users;
    }

Что-нибудь после

logger.debug(registrationService.test());

не выполняется. если я удаляю эту строку, все работает. я не знаю в чем проблема

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Да, вы можете использовать Spring для внедрения одного и того же компонента в два разных класса.

0 голосов
/ 24 марта 2011

моя лучшая догадка - исключение NullPointerException, произошедшее на

 logger.debug(registrationService.test());

, поэтому последующие строки не были выполнены. RegistrationService, я думаю, контейнер не внедрил должным образом. Убедитесь, что ваш класс обслуживания либо правильно определен в вашем applicationContext.xml, либо пакет включен в компонент сканирования.

Убедитесь также, что UserDAO управляется Spring или имеет способ (если нет) для доступа к вашему классу обслуживания, управляемого Spring.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...