Java Spring核心具有多个上下文的同一类
我有一个spring核心应用程序,其中有两个用于不同渠道的上下文文件,即mobile和web 如果我从移动频道收到请求,将加载mobile-context.xml 如果我从web频道收到请求,将加载web-context.xml 我有ClassA,它被添加到两个上下文文件中,因此它的加载是按照Spring的上下文加载概念的两倍,因为两者都是不同的上下文Java Spring核心具有多个上下文的同一类,java,spring,Java,Spring,我有一个spring核心应用程序,其中有两个用于不同渠道的上下文文件,即mobile和web 如果我从移动频道收到请求,将加载mobile-context.xml 如果我从web频道收到请求,将加载web-context.xml 我有ClassA,它被添加到两个上下文文件中,因此它的加载是按照Spring的上下文加载概念的两倍,因为两者都是不同的上下文 不管上下文是什么,我都可以加载这个ClassA一次,还是可以在两个上下文中共享ClassA对象?创建多个上下文并不是什么新鲜事。您可以通过创建两
不管上下文是什么,我都可以加载这个ClassA一次,还是可以在两个上下文中共享ClassA对象?创建多个上下文并不是什么新鲜事。您可以通过创建两个
ApplicationContext
实例来实现这一点
下面这样做就行了
ApplicationContext webContext=new ClassPathXmlApplicationContext(“web context.xml”);
ApplicationContext mobileContext=新类路径XmlApplicationContext(“mobile context.xml”);
现在有了两个上下文
,您可以随意使用它们
若你们想根据设备类型提供不同的业务逻辑,我建议你们看看这个项目。此项目添加到现有spring项目中,并基于检测到的设备启用设备检测和路由到不同视图
这允许您在请求处理级别检测设备,并允许您针对不同的设备以不同的方式处理请求
提供了您可能需要的更多详细信息。FYI:这不是一个SpringMVC项目,而是一个spring核心项目,我们正在手动加载这些上下文。我已经更新了如何创建多个上下文的问题。