我在春季教程中阅读了优势部分第号点。3. Spring Framework 不需要服务器。是真的吗?
我们如何在没有任何服务器的情况下运行 Web 应用程序?
是的。您可以运行独立的 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 并运行应用程序。
Spring 并非特定于 Web 应用程序,这就是它可以作为独立应用程序使用的原因。您可以通过 Bozho's Answer 了解如何使用它。
我从您的评论中了解到您想要创建没有服务器的 Web 应用程序。如果您想得到您期望的答案,请修复(编辑)您的问题。
无论如何,这是不可能的。为此,您需要一个Web 服务器(软件)。
然而,如果“服务器”是指硬件而不是软件,那么它是不同的。您可以在自己的计算机上运行 Web 服务器。
如果要运行 Java Web应用程序,至少需要一个 Servlet 容器。使用 Springframework 编写的应用程序也会这样做。但是有一些方法可以将 Servlet 容器(“服务器”)“嵌入”到您的应用程序中,这样就像在没有服务器的情况下运行应用程序一样。
有一个新的 Spring 项目Spring Boot试图简化这一点。查看git 存储库和Embedded Tomcat和Embedded Jetty示例,或者观看 Eberhard Wolff 的小演示视频。