引导与Spring 5的Web应用程序
最后修改:2021年1月21日
1.概述
教程说明了如何用春天引导一个Web应用程序。
我们将研究Spring启动解决方案,以便引导应用程序,并查看非春季启动方法。
我们主要使用Java配置,但也看一下它们的等效XML配置。
进一步阅读:
2.使用Spring Boot启动
2.1。maven依赖
首先,我们需要春天启动 - 起动器网依赖性:
<依赖> org.springframework.boot groupID> Spring-Boot-Starter-Web Artifactid> 2.4.0 version> 依赖项>
这个起动器包括:
- 春天网和Spring-webmvc.我们需要我们的Spring Web应用程序的模块
- 一个Tomcat起动器,以便我们可以直接运行我们的Web应用程序而不明确安装任何服务器
2.2。创建Spring启动应用程序
使用Spring Boot开始最直接的方式是创建一个主类并用辅助@springbootapplication:
@springbootapplication公共类springbootrestapplication {public static void main(string [] args){springapplication.run(springbootrestapplication.class,args);}}
这种单个注释相当于使用@配置那@EnableAutoConfiguration., 和@componentscan。
默认情况下,它将扫描同一包或下面的所有组件。
接下来,对于基于Java的Spring Bean配置,我们需要创建配置类并使用ZH@配置注解:
@configuration公共类webconfig {}
该注释是基于Java的弹簧配置使用的主要伪影;它本身就是元注释@成分,这使得注释的类标准豆类以及成员扫描的候选者。
主要目的@配置类是Spring IoC容器的Bean定义的来源。有关更详细的描述,请参阅官方文档。
让我们看看使用核心的解决方案Spring-webmvc.图书馆。
3.使用Spring-WebMVC引导
3.1。Maven依赖项
首先,我们需要Spring-webmvc.依赖性:
<依赖项> org.springframework groupID> Spring-WebMVC ARTIFACTID> 5.3.3 version> 依赖项>
3.2。基于Java的Web配置
接下来,我们将添加具有的配置类@配置注解:
@configuration @enablewebmvc @componentscan(basepackages =“com.b金宝搏188体育aeldung.controller”)公共类webconfig {}
在这里,与Spring启动解决方案不同,我们必须明确定义@bablewebmvc.设置默认的Spring MVC配置和@ComponentsCan.指定要扫描组件的包。
这@bablewebmvc.注释提供了Spring Web MVC配置,例如设置Dispatcher Servlet,使能@控制器和@requestmappping.注释和设置其他默认值。
@ComponentsCan.配置组件扫描指令,指定要扫描的包。
3.3。初始化程序类
接下来,我们需要添加一个实现的类WebApplicationInitializer界面:
公共类AppItializer实现WebApplicationInitializer {@override public void onstartup(servletcontext容器)抛出servletexception {annotationconfigwebapplicationscontext context = new AnnotationConfigWebapplicationContext();context.scan(“com.金宝搏188体育baeldung”);container.addlistener(new contextLoaderListener(上下文));servletRegistration.Dynamic Dispatcher = container.addservlet(“mvc”,new dispatcherservlet(上下文));Dispatcher.setLoadonStartUp(1);dispatcher.addmapping(“/”);}}
在这里,我们正在使用使用的弹簧上下文AnnotationConfigWebApplicationContext.类,这意味着我们仅使用基于注释的配置。然后,我们指定要扫描组件和配置类的软件包。
最后,我们定义了Web应用程序的入口点 -Dispatcherservlet。
这个课程可以完全取代web.xml.来自<3.0 servlet版本的文件。
4. XML配置
让我们还快速查看等效的XML Web配置:
<上下文:组件 - 扫描基础包=“com.baeldung.controller”/金宝搏188体育>
我们可以用替换此XML文件WebConfig.上课。
要启动应用程序,我们可以使用加载XML配置或Web.xml文件的初始化程序类。有关这两种方法的更多详细信息,请退房我们的上一篇文章。
结论
在本文中,我们查看了两个流行的解决方案,用于引导Spring Web应用程序,一个使用Spring Boot Web Starter和其他使用Core Spring-WebMVC库的其他解决方案。
在下一篇关于春天休息的文章,我介绍在项目中设置MVC,配置HTTP状态代码,有效载荷编组和内容协商。
一如既往,本文中提供的代码可用在github上。这是一个基于Maven的项目,因此应该易于导入和运行。