我怎樣才能加載一個Spring上下文與我自己的ClassLoader
實例?使用特定的類加載器加載Spring上下文
9
A
回答
12
許多Spring上下文加載器(例如ClassPathXmlApplicationContext )是DefaultResourceLoader的子類。
DefaultResourceLoader
有一個constructor您可以指定類加載器,也有一個setClassLoader
方法。
因此,您的任務是找到您需要的Spring上下文加載器的構造函數,您可以在其中指定類加載器,或者只是創建它,然後使用該集來設置所需的類加載器。
0
org.springframework.context.support.ClassPathXmlApplicationContext
班是在這裏爲你。
5
final ClassLoader properClassLoader = YourClass.class.getClassLoader();
appContext = new ClassPathXmlApplicationContext("application-context.xml") {
protected void initBeanDefinitionReader(XmlBeanDefinitionReader reader) {
super.initBeanDefinitionReader(reader);
reader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_NONE);
reader.setBeanClassLoader(properClassLoader);
setClassLoader(properClassLoader);
看到這裏,如果你這樣做了OSGI目的:How do I use a Spring bean inside an OSGi bundle?
+0
我也需要這樣做在Jenkins插件中加載spring上下文。 – Dana 2016-01-27 20:20:25
相關問題
- 1. Spring上下文加載器
- 2. Fragment類中的加載器上下文
- 3. 加載servlet-context(Spring MVC)時,應用上下文未加載
- 4. 加載部分Spring上下文
- 5. 使用現有類加載器加載文件夾中的類
- 6. 加載上下文
- 7. 基於tomcat servlet上下文定義的spring加載application.properties
- 8. 如何將自定義的DaoAuthenticationProvider加載到Spring上下文中?
- 9. 加載特定類時JVM是否加載所有使用的類?
- 10. web.xml加載類啓動到上下文
- 11. 使用Groovy類加載器
- 12. Spring和Websphere的類加載器問題
- 13. 如何儀器類加載自定義類加載器?
- 14. 加載和顯示上下文特定的常見問題
- 15. Spring應用上下文的加載順序
- 16. Symfony的類加載器不會加載
- 17. Spring MVC上的應用程序加載事件加載收集
- 18. 使用pdf.js查看器在特定頁面上加載PDF
- 19. 使用自定義類加載器加載Java運行時和API類
- 20. 使用由Java加載的庫引導類加載器
- 21. 加載特定類型的字典值
- 22. 查找加載特定類的ClassLoader
- 23. 特定於設備的加載類別
- 24. Spring Test/JUnit問題 - 無法加載應用程序上下文
- 25. 加載xml應用程序上下文ioexception spring
- 26. Spring 4升級後應用程序上下文未加載
- 27. 如何加載Spring應用程序上下文
- 28. Spring和Hibernate:將cfg.xml加載到應用程序上下文中
- 29. javax.mail.NoSuchProviderException:從定製類加載器加載類時發生smtp
- 30. 使用Node.js上傳加載和下載文件到MongoDB
該類不會讓你的類加載器通過。這不是一個正確的答案。 – JustinKSU 2016-03-29 19:22:20
ClassPathXmlApplicationContext是DefaultResourceLoader的子類,它繼承了setClassloader方法。所以你可以通過你的類加載器。 – sebastiencol 2016-04-04 12:30:09
這是真的,但你不會繼承構造函數。你只能使用類中聲明的(https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/support/ClassPathXmlApplicationContext.html) – JustinKSU 2016-04-04 16:51:33