我怎样才能加载一个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