`
sunxboy
  • 浏览: 2868715 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Loading Multiple Spring Application Contexts with their own ClassLoader

 
阅读更多
package de.incompleteco.spring.context;
 
import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
 
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.core.io.DefaultResourceLoader;
 
public class ApplicationContextClassLoader {
 
 public ClassLoader getClassLoader(String location) throws Exception {
  File f = new File(location);
  return new URLClassLoader(new URL[]{f.toURI().toURL()});
 }
 
 public ApplicationContext getContext(String location,String... contextPaths) throws Exception {
  return getContext(null,location,contextPaths);
 } 
  
 public ApplicationContext getContext(ApplicationContext parentContext,String location,String... contextPaths) throws Exception {
  //init
  GenericApplicationContext context = new GenericApplicationContext(); 
  //build the app context
  if (parentContext != null) {
   context = new GenericApplicationContext(parentContext);
  }//end if
  XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
  //get the classloader
  ClassLoader loader = getClassLoader(location);
  //set the loader
  reader.setBeanClassLoader(loader);
  reader.setResourceLoader(new DefaultResourceLoader(loader));
  //get the bean definitions
  reader.loadBeanDefinitions(contextPaths);
  //init
  context.refresh();
  //return
  return context;
 }
  
}

 

分享到:
评论

相关推荐

    Manage Multiple Instances of OSPF with SNMP Contexts [IP Application Services] - Cisco Systems

    Manage Multiple Instances of OSPF with SNMP Contexts [IP Application Services] - Cisco Systems

    Mastering Spring 5: 2nd Edition

    You'll gain an understanding of how application architectures have evolved from monoliths to microservices and be able to build your own microservices using Spring Boot. Complete with real-world ...

    Matching with Shape Contexts.pdf

    本文档《Matching with Shape Contexts.pdf》主要介绍了形状上下文(Shape Context)在图像匹配领域的应用,特别是如何利用形状上下文测量形状相似性以及恢复点对应关系。形状上下文作为一种新的形状描述符,能够...

    Label Embedding with Partial Heterogeneous Contexts.pdf

    the embeddings, multiple contexts can be adopted. However, these contexts are heterogeneous and often partially observed in practical tasks, imposing significant challenges to capture the overall ...

    Spring 最新动态:浅析 Spring 3.1、3.2 和 3.3

    此外,Spring 3.3增强了对RESTful服务的支持,提供更好的HATEOAS(Hypermedia as the Engine of Application State)实现,使得构建基于超媒体的Web服务变得更加容易。同时,Spring 3.3也对消息传递进行了改进,加强...

    spring4 jar包

    在Spring4中,IoC容器的性能得到了优化,支持了Java 8的新特性,并增强了对CDI(Contexts and Dependency Injection for Java)的兼容性。 其次是AOP(Aspect-Oriented Programming,面向切面编程)模块,它允许...

    Spring相关面试题.docx

    Bean 工厂和 Application contexts 都是 IOC 容器的实现,但是它们有不同的使用场景和实现方式。 依赖注入 16. 什么是 Spring 的依赖注入? 依赖注入是 Spring 框架的核心功能,提供了对依赖项的管理和注入功能。 ...

    contexts应用工具-原版

    contexts应用工具-原版,让mac 支持完整的快捷栏,超级酸爽

    spring4 中文API

    - **Application contexts and Resource paths**:讨论了应用程序上下文与资源路径的关系。 #### Validation, Data Binding, and Type Conversion - **Introduction**:概述验证、数据绑定和类型转换的基本概念。 ...

    Spring in action 3.0

    5. **Spring与Java EE 6的集成**:Spring 3.0引入了对Java EE 6规范的支持,包括CDI(Contexts and Dependency Injection)、EJB 3.1、JSF 2.0等,使得Spring应用可以更好地融入到Java EE环境中。 6. **RESTful Web...

    A sample Java EE 7 application ran with OpenLiberty.io.zip

    1. 解压缩`A sample Java EE 7 application ran with OpenLiberty.io.zip`文件,获取应用的WAR或EAR文件。 2. 使用OpenLiberty的`server start`命令启动服务器。 3. 使用`server deploy`命令将应用部署到OpenLiberty...

    Spring 2.5.6和3.0 所有的jar包

    7. **支持Java EE 6**:Spring 3.0与Java EE 6规范进行了很好的集成,包括CDI(Contexts and Dependency Injection)和JSF(JavaServer Faces)的支持。 8. **国际化支持**:增强了消息源(MessageSource)和资源包...

    Contexts mac非常好用的窗口管理工具

    Contexts Mac版是Mac os平台上的一款非常方便便捷的Mac窗口管理工具,Contexts Mac版可以通过一次单击任何窗口切换:自动隐藏侧边栏显示您的Windows组组织。切换到窗口,单击其标题列表中。切换非常的方便简单不影响...

    spring-framework-3.1.2.RELEASE jar包

    除此之外,Spring 3.1.2.RELEASE还包括对Java EE 6的兼容性增强,支持CDI(Contexts and Dependency Injection)和JSF(JavaServer Faces)等技术,这使得在Java EE环境中使用Spring变得更加平滑。 总的来说,`...

    Spring3.2.5相关jar包

    Spring3.2.5还引入了对Java EE 6和7的部分支持,包括CDI(Contexts and Dependency Injection)和JSF(JavaServer Faces)的集成。这使得Spring应用可以在更广泛的Java企业环境中无缝运行。 在安全方面,Spring ...

    Spring3X权威开发指南.pdf

    7. **Java EE6集成**:Spring3.x版本增强了对Java EE6规范的支持,如CDI(Contexts and Dependency Injection)、EJB 3.1等,使得开发者可以更好地利用Java EE6的功能。 8. **测试支持**:Spring提供了测试框架,...

    spring3.2jar包

    除此之外,Spring 3.2还引入了对Java EE 6和JSR-303(Bean Validation)的支持,使得开发者可以利用这些标准来实现企业级的功能,如CDI(Contexts and Dependency Injection)和数据验证。 标签“spring”表明这个...

    Spring 3.x权威开发指南:实施Java EE 6的利器.pdf

    在Java EE 6方面,该书将展示如何利用Spring与EJB、CDI(Contexts and Dependency Injection)、JSF(JavaServer Faces)等Java EE组件进行集成,从而实现更高效的应用架构。Spring还提供了对WS(Web Services)的...

    最新通用稳定spring-framework-4.3.5.RELEASE.zip

    在4.3.5.RELEASE中,Spring对Java EE 7的支持也得到了加强,包括对CDI(Contexts and Dependency Injection for the Java EE Platform)的改进,以及对JSF、JMS和JTA等规范的兼容性增强。 标签中提到的"RELEASE...

Global site tag (gtag.js) - Google Analytics