SpringBoot - Web原生组件注入
学习使用SpringBoot进行Web开发时使用原生Web组件(Servlet,Filter,Listener)。
1. 注入方式
1.1 @ServletComponentScan + 原生注解
Servlet 3.0提供了一套新注解:
@WebServlet
:表示这是一个Servlet;@WebFilter
:表示这是一个Filter;@WebListener
:表示这是一个Listener。
这些注解可直接标注在对应组件上,和在web.xml里配置意义相同。这些注解同样有web.xml对应的属性,可直接配置,省去了配置web.xml的繁琐。
在SpringBoot中欲使用这些原生Web组件,可以使用@ServletComponentScan
注解。这个注解的作用是扫描标记了上述三个注解的组件类,并注册到容器中。此注解只能标记在启动类和配置类上。
注解@ServletComponentScan
的属性:
- String[] value/basePackages:要扫描的包路径。
举个例子,编写一个Servlet:
package pers.dyj123.servlet
@WebServlet(name = "myServlet", urlPatterns = "/message")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletRespo