Bir DispatcherServlet
kullanarak önyüklenen bir Spring MVC web uygulamasıyla uğraşıyorum. Web Uygulaması Bağlamında Yayılan Bağlam Hiyerarşisi
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Şimdi bir
ContextSingletonBeanFactoryLocator
kullanarak çalışma zamanında yüklenen gereken bazı modüller vardır: Bu tüm uygulamayı yöneten bir
XmlWebApplicationContext
yaratır. Bu nedenle, her modülün kendi
ClasspathXmlApplicationContext
vardır. Bir modül,
XmlWebApplicationContext
'dan fasulye referansı alabilmesi için,
XmlWebApplicationContext
'un üstlenmenin rolünü üstlenmesi ve
ClasspathXmlApplicationContext
modülünün alt bağlamının rolünü oynaması gereken bir Bağlam Hiyerarşisi oluşturmak için
XmlWebApplicationContext
'a eklenmelidir. Ne yazık ki ben
WebApplicationContext
adını
parentContext
vermek için hiçbir şekilde bugüne kadar buldum çünkü
<beans>
<bean id="moduleContext"
class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
...
</constructor-arg>
<constructor-arg ref="parentContext" />
</bean>
</beans>
kullanarak bunları bağlanamıyor değilim. Bir şeyi gözden kaçırdım mı yoksa farklı bir şekilde aynı şeyi elde etmenin daha iyi/daha kolay bir yolu var mı?
Onları önceden tanımıyorsam nereden childs'ları alıyorum? – aha
Teklif ettiğiniz kodu denedim. Çalışır, ancak 'ContextSingletonBeanFactoryLocator' öğesine yayılmaz. Ancak, doğru yönde ilerliyor: Gitmenin yolu, 'ContextSingletonBeanFactoryLocator' kullanmak değil, manüel içerikleri ('GenericApplicationContext' kullanarak) elle yüklemek ve bunları' InitializingBean'daki ana içeriğe eklemek. – aha