Спасибо всем за помощь.Мне удалось выяснить это.
Этот вопрос был похож на мой и заставил меня двигаться в правильном направлении: Объявление Spring Bean в родительском контексте против дочернего контекста
Это сообщение на форуме действительно упростило для меня эту идею.
В своем файле web.xml вы определяете контекст сервлета и контекст приложения.Контекст приложения настраивается с помощью следующих фрагментов XML:
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
/WEB-INF/security-app-context.xml
</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
любое количество файлов * context.xml, передаваемых в context-param> contextConfigLocation, находится в контексте приложения.Это родительский контекст.
Контекст сервлета создается в файле web.xml с помощью этого бита xml:
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Контекст сервлета как дочерний контекст имеет доступ к приложениюcontext (parent).
Это была ключевая вещь для меня, чтобы понять.Поэтому я перенес всю конфигурацию, которую имел в контексте сервлета, в контекст приложения.
Как и ответ на другой вопрос, на который я ссылался выше, говорит, что @Autowired все еще не работает.Кто-нибудь знает причину этого?Поэтому, чтобы обойти это, я определил bean-компоненты и свойства в xml на всем пути от свойства, которым я занимался, до sessionFactory.
Теперь я могу подключить нужные мне bean-компоненты в xmlвплоть до иерархии к sessionFactory, потому что она была в том же контексте, поскольку я переместил ее в контекст приложения из контекста сервлета, где он был раньше.
В моем вопросе я даже не опубликовалфайл servlet-context.xml, потому что я не думал, что к нему нужно прикасаться, но на самом деле мне нужно было перенести конфигурацию в контекст приложения, если я хотел связать вещи с компонентами безопасности.
Я надеюсь, что это имеет смысл.