Я создаю класс с двумя 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.Бин в области рабочих запросов находится в «ядре»;сломанный в «паутине».Я надеюсь, что это ясно - дайте мне знать, если нет!Будет ли полезна любая другая информация?