我正在將一個grails應用程序轉換爲spring。如何從spring 'WEB-INF/applicationContext.xml'獲取groovy或java類中的spring bean。從Groovy類中的應用程序上下文獲取spring bean
這是我使用的Grails應用程序的代碼
queueConnectionFactory = (QueueConnectionFactory)Holders.applicationContext.getBean("jmsConnectionFactory");
我已經試過
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
queueConnectionFactory usa = (QueueConnectionFactory) ctx.getBean("jmsConnectionFactory");
,但它沒有工作,我得到了一個錯誤
java.io .FileNotFoundException:無法打開類路徑資源[applicationContext.xml],因爲它不存在 at org.springframework.core.io.ClassPathResource.getInputStream(ClassP athResource.java:157) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
請幫我解決這個問題。謝謝
您的'applicationContext.xml'文件位於類路徑中嗎?如果它在「WEB-INF」的根源之內,我不相信它。嘗試將其移動到源文件夾的根目錄。 –
它位於'main/webapps/WEB-INF/applicationContext.xml'目錄下。所以它應該可用? – user3230140
我一定會嘗試。順便說一句,我用來獲取bean的代碼是正確的?感謝您的回覆 。 – user3230140