Боб в области запроса Spring - все поля пустые / пустые - PullRequest
2 голосов
/ 25 ноября 2011

Я создаю класс с двумя bean-объектами в области запроса.Классы bean-компонентов снабжены комментариями:

@Component
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class RequestScopedBean1 {
  // stuff
}

и их объявление в качестве поля в моем классе:

@Resource
private RequestScopedBean1 requestScopedBean1

@Resource
private RequestScopedBean2 requestScopedBean2

Эта система использовалась во всей кодовой базе, с которой я работаюНет проблем.Однако в моем классе один из введенных bean-компонентов (не оба, а только один!) Имеет все свои поля null / empty.

Я знаю, что простой просмотр полей bean-объекта в режиме отладки приведет кобычно показывают, что все они нулевые из-за того, что Spring управляет такими bean-компонентами с прокси.Мне также известно, что к полям следует обращаться с помощью методов получения и установки, а не напрямую, по той же причине.Однако этот bean-компонент по-прежнему выглядит пустым / пустым при использовании функции Evaluate Expression в intelliJ.

Мой класс и каждый класс bean-компонентов находятся в разных проектах.Рабочий боб находится в основном проекте.Сломанный компонент находится в проекте с зависимостью от основного проекта, а мой класс находится в проекте с зависимостью от проекта сломанного компонента.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы помочь мнездесь!

Редактировать Краткое описание моих XML-файлов конфигурации:

Есть 4 соответствующих проекта, давайте назовем их «core», «web», «common».и «конкретный».Каждый из них имеет свой собственный application-context.xml. Приложение развертывается из файла .war, созданного из «конкретного» проекта.В тэге для «конкретного» web.xml импортируются контексты приложения для «веб» и «специфический».Первая строка «конкретного» application-context.xml импортирует контекст приложения для «общего», где находится мой новый класс.Первая строка «web» application-context.xml импортирует «основной» application-context.Бин в области рабочих запросов находится в «ядре»;сломанный в «паутине».Я надеюсь, что это ясно - дайте мне знать, если нет!Будет ли полезна любая другая информация?

1 Ответ

0 голосов
/ 18 декабря 2016

Возможно, спецификатор доступа для сеттеров и геттеров, к которым вы пытаетесь получить доступ в классе, не указан (т. Е. По умолчанию). Попробуйте поменять его на публичный и посмотрите.

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