Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring核心具有多个上下文的同一类_Java_Spring - Fatal编程技术网

Java Spring核心具有多个上下文的同一类

Java Spring核心具有多个上下文的同一类,java,spring,Java,Spring,我有一个spring核心应用程序,其中有两个用于不同渠道的上下文文件,即mobile和web 如果我从移动频道收到请求,将加载mobile-context.xml 如果我从web频道收到请求,将加载web-context.xml 我有ClassA,它被添加到两个上下文文件中,因此它的加载是按照Spring的上下文加载概念的两倍,因为两者都是不同的上下文 不管上下文是什么,我都可以加载这个ClassA一次,还是可以在两个上下文中共享ClassA对象?创建多个上下文并不是什么新鲜事。您可以通过创建两

我有一个spring核心应用程序,其中有两个用于不同渠道的上下文文件,即mobile和web

如果我从移动频道收到请求,将加载mobile-context.xml 如果我从web频道收到请求,将加载web-context.xml

我有ClassA,它被添加到两个上下文文件中,因此它的加载是按照Spring的上下文加载概念的两倍,因为两者都是不同的上下文


不管上下文是什么,我都可以加载这个ClassA一次,还是可以在两个上下文中共享ClassA对象?创建多个上下文并不是什么新鲜事。您可以通过创建两个
ApplicationContext
实例来实现这一点

下面这样做就行了

ApplicationContext webContext=new ClassPathXmlApplicationContext(“web context.xml”);
ApplicationContext mobileContext=新类路径XmlApplicationContext(“mobile context.xml”);
现在有了两个
上下文
,您可以随意使用它们

若你们想根据设备类型提供不同的业务逻辑,我建议你们看看这个项目。此项目添加到现有spring项目中,并基于检测到的设备启用设备检测和路由到不同视图

这允许您在请求处理级别检测设备,并允许您针对不同的设备以不同的方式处理请求


提供了您可能需要的更多详细信息。

FYI:这不是一个SpringMVC项目,而是一个spring核心项目,我们正在手动加载这些上下文。我已经更新了如何创建多个上下文的问题。