2

我在春季教程中阅读了优势部分第号点。3. Spring Framework 不需要服务器。是真的吗?

我们如何在没有任何服务器的情况下运行 Web 应用程序?

4

3 回答 3

8

是的。您可以运行独立的 spring 应用程序。

您的主类将是入口点,您可以使用ClassPathXmlApplicationContext. 例如

public static void main() {
   ApplicationContext ctx = new ClassPathXmlApplicationContext("ctx.xml");
   YourService service = ctx.getBean(YourService.class)
   service.doSomething();
}

那么里面的一切都doSomething()可以使用依赖注入。


更新:由于您似乎需要在没有 Web 服务器的情况下运行 Web 应用程序 - 您不能。您需要一个 servlet 容器(这里将是一个“网络服务器”)。你可以做的是使用像 jetty 或 tomcat-embedded 这样的嵌入式 Web 服务器,并从独立的应用程序启动进程。

如果“网络服务器”是指远程物理(或虚拟机)——你不需要它——你可以在你的机器上本地安装 tomcat 并运行应用程序。

于 2013-08-14T10:30:28.013 回答
5

Spring 并非特定于 Web 应用程序,这就是它可以作为独立应用程序使用的原因。您可以通过 Bozho's Answer 了解如何使用它。

我从您的评论中了解到您想要创建没有服务器的 Web 应用程序。如果您想得到您期望的答案,请修复(编辑)您的问题。

无论如何,这是不可能的。为此,您需要一个Web 服务器(软件)。

然而,如果“服务器”是指硬件而不是软件,那么它是不同的。您可以在自己的计算机上运行 Web 服务器。

于 2013-08-14T10:58:44.707 回答
3

如果要运行 Java Web应用程序,至少需要一个 Servlet 容器。使用 Springframework 编写的应用程序也会这样做。但是有一些方法可以将 Servlet 容器(“服务器”)“嵌入”到您的应用程序中,这样就像在没有服务器的情况下运行应用程序一样。

有一个新的 Spring 项目Spring Boot试图简化这一点。查看git 存储库Embedded TomcatEmbedded Jetty示例,或者观看 Eberhard Wolff 的小演示视频

于 2013-08-14T11:05:22.230 回答