java – Spring:如何组织应用程序Web上下文?
场景:
>启动应用程序并在main()中加载ClassPathXmlApplicationContext,这将启动Jetty webapp. 我只是想绕过上下文. >我应该使用上面列出的3个上下文吗? 我还不是很清楚这些背景如何相互关联,我只需要快速了解它. 解决方法
上下文#1根本没有连接到其他上下文,它只是启动Web服务器(Jetty)的实现细节.
上下文#2和#3在 Spring reference documentation中有所解释. >上下文#2从WEB-INF / [servlet-name] -servlet.xml加载.由于可以有许多DispatcherServlet,因此对于不同的servlet,单个webapp中可能存在多个这样的上下文. 您概述的设置完全正常.实际上,我将其称为推荐的设置,因为它使事情变得简单并且接近于在典型的webapp中构造Spring上下文的方式. 然而: 如果您不想将业务bean保留在单独的上下文中,则可以删除上下文#3.但是,我建议你将它们分开(你可能需要稍后将它们移动到另一台机器上并通过某种远程机制提供). 摆脱上下文#3的另一个原因是:您可能希望在多个Web应用程序之间共享您的业务bean.为了实现这一点,你需要一个特殊的Spring ContextLoader子类,然后在Jetty启动你的webapps时做一些魔术.我已经这样做了,如果需要可以提供一些建议. 最后,您可以摆脱上下文#1并将其替换为引导Jetty的旧式纯Java代码.这个决定100%取决于您和偏好问题.为了记录,我还想使用单独的Spring applicationContext来引导Jetty. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 指定在Mockito doReturn方法中传递给方法的特定枚举
- java – 当我通过Android将POST数据发送到ASP.NET MVC站点时
- java – 防止Tomcat在HTTP错误状态4xx或5xx上干扰Jersey /
- java – 使用ServletContextListener和SLF4J在contextDestr
- java – Spring MVC将一个值列表从JSP页面传递给控制器
- Java 数组ArrayList常用语法详解
- java – 单个文件中的多个类
- Google App Engine如何预编译Java?
- java中==与equal()方法的区别
- 两种用空格分隔的java字符串的方式