我最近看到了Web应用程序中最新Spring的一些用法。我对那个春季应用程序如何与Tomcat一起启动很感兴趣,因为在web.xml或其他调度程序servlet中什么都没看到。调度程序servlet可能是使用类创建的,但是...如何?
我猜想当您说在Web应用程序中使用最新的Spring时,您是在谈论Spring 4,尤其是Spring Boot。
Spring这样描述Spring Boot:
通过Spring Boot,可以轻松地创建独立的,生产级的基于Spring的应用程序,您可以“运行”它们。
那么,如何启动并运行独立的Web应用程序呢?答案很简单,就是在您声明一些依赖项pom.xml
,然后添加一个应用程序启动器(一种经典的旧main
方法),该启动器从Spring Boot调用一个方法来启动整个过程。在这种情况下,整个过程将扫描组件的代码库,然后启动在您的容器中声明的嵌入式容器(Tomcat)pom.xml
-完成所有操作之后!
应用程序启动器通常会调用SpringApplication.run
-方法来启动嵌入式Web容器。您还可以应用一组注释,例如,定义应扫描的软件包或可以使用的组件类型。示例包括:@EnableAutoConfiguration
和@ComponentScan
。通常可以使用各种注释来替换一些较旧的XML标记,或在configuration上设置一些不错的默认约定。
来自spring.io博客:
运行应用程序时,默认情况下,Spring Boot将检测到您具有Spring MVC控制器并启动嵌入式Apache Tomcat 7实例。
因此,这基本上意味着Spring Boot将启动Tomcat,但您也可以使用其他容器(例如Jetty)。
要开始整个过程,只需将以下依赖项添加到您pom.xml
的项目中,并且该项目已启用Spring Boot:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${spring.version}</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
然后创建应用程序启动器:
@Controller
@EnableAutoConfiguration
public class IndexController {
@RequestMapping("/")
@ResponseBody
String index() {
return “I am alive”;
}
// The application launcher, starts a simple controller running in the Tomcat container
public static void main(String... args) throws Exception {
// Start an application with your IndexController
SpringApplication.run(IndexController.class, args);
}
}
我真的推荐Spring Boot文档。有关此问题的其他一些有用资源是:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句