javascript
Spring boot注册三大组件
注冊三大組件
Spring boot
以jar包的方式
使用嵌入式的Tomcat啟動Web應用
沒有Web應用目錄結構,沒有web.xml文件
Web應用
是一個Web應用的目錄結構
存在目錄文件src/main/webapp/WEB-INF/web.xml
可以把三大組件,注冊在web.xml中
Spring boot
提供了三大組件,注冊方式
注冊Servlet,使用ServletRegistrationBean
注冊Filter,使用FilterRegistrationBean
注冊ServletListener,使用ServletListenerRegistrationBean
Servlet
自定義Servlet,繼承HttpServlet
重寫方法,處理請求
Filter
自定義Filter,實現Filter接口
實現Filter的三個方法
Init,初始化
doFilter,過濾
destroy,銷毀
chain.doFilter,放行請求
Listener
自定義Listener,實現ServletContextListener
Listener有很多,這里監聽啟動和銷毀的Listener
contextInitialized,初始化方法,Web項目啟動
contextDestroyed,銷毀方法,Web項目銷毀
注冊Servlet
返回一個ServletRegistrationBean
是一個class,直接new一個
使用有參構造器,傳遞自定義的Servlet,映射路徑
注冊Filter
返回一個FilterRegistrationBean
是一個class,直接new一個
設置自定義的Filter,設置攔截請求的url
是一個集合,使用Arrays轉換
注冊Listener
返回一個ServletListenerRegistrationBean
是一個類,直接new一個
傳遞自定義的Listener
可以注冊的Listener類型
注冊方式
@Configuration public class MyServerConfig {//注冊三大組件@Beanpublic ServletRegistrationBean myServlet(){ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/myServlet");registrationBean.setLoadOnStartup(1);return registrationBean;}@Beanpublic FilterRegistrationBean myFilter(){FilterRegistrationBean registrationBean = new FilterRegistrationBean();registrationBean.setFilter(new MyFilter());registrationBean.setUrlPatterns(Arrays.asList("/hello","/myServlet"));return registrationBean;}@Beanpublic ServletListenerRegistrationBean myListener(){ServletListenerRegistrationBean<MyListener> registrationBean = new ServletListenerRegistrationBean<>(new MyListener());return registrationBean;}}屬性設置
可以直接在registrationBean中設置
自定義組件的屬性
總結
以上是生活随笔為你收集整理的Spring boot注册三大组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot自动注册Dispa
- 下一篇: Spring boot配置Servlet