SpringBoot中通过SpringBootServletInitializer如何实现容器初始化
相关文章
《Servlet3.0之四:动态注册和Servlet容器初始化》
《SpringBoot中通过SpringBootServletInitializer如何实现组件加载》
《SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters》
package com.dxz.demo.config; import javax.servlet.ServletContext;
import javax.servlet.ServletException; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.annotation.Order;
import org.springframework.web.WebApplicationInitializer; @Order(1)
public class MyWebApplicationInitializer implements WebApplicationInitializer {
private Logger logger = LoggerFactory.getLogger(MyWebApplicationInitializer.class); @Override
public void onStartup(ServletContext paramServletContext) throws ServletException {
logger.info("启动加载自定义的MyWebApplicationInitializer");
System.out.println("启动加载自定义的MyWebApplicationInitializer");
} }

package com.dxz.demo.config; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class Servlet4 extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Servlet4");
resp.setContentType("text/html");
resp.getWriter().write("Servlet4");
} @Override
public void init() throws ServletException {
super.init();
System.out.println("Servlet4 loadOnStart");
} }
package com.dxz.demo.config; import java.util.Set;
import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class MyServletContainerInitializer implements ServletContainerInitializer {
private Logger logger = LoggerFactory.getLogger(MyServletContainerInitializer.class); @Override
public void onStartup(Set<Class<?>> set, ServletContext servletContext) throws ServletException {
logger.info("启动加载自定义的MyServletContainerInitializer");
System.out.println("启动加载自定义的MyServletContainerInitializer");
ServletRegistration.Dynamic testServlet = servletContext.addServlet("servlet4",
"com.shf.springboot.servlet.Servlet4");
testServlet.setLoadOnStartup(1);
testServlet.addMapping("/servlet4");
}
}

SpringBoot中通过SpringBootServletInitializer如何实现容器初始化的更多相关文章
- SpringBoot中配置起动时的数据库初始化角本
一.简介 我们使用SpringBoot + JPA时,需要程序在启动时执行数据表的初始化或者数据库记录的初始化.一般数据表的初始化可以通过在Spring Boot的application.proper ...
- elastic-job 分布式定时任务框架 在 SpringBoot 中如何使用(一)初始化任务并定时执行
第一篇需要实现一个最简单的需求:某个任务定时执行,多台机子只让其中一台机子执行任务 一.安装 分布式应用程序协调服务 zookeeper,安装步骤在链接里面 Linux(Centos7)下安装 zoo ...
- Spring Ioc 容器初始化过程
IOC 是如何工作的? 通过 ApplicationContext 创建 Spring 容器,容器读取配置文件 "/beans.xml" 并管理定义的 Bean 实例对象. 通 ...
- 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中
前言:本项目基于maven构建 spring-boot项目可以快速构建web应用,其内置的tomcat容器也十分方便我们的测试运行: spring-boot项目需要部署在外部容器中的时候,spring ...
- [十]SpringBoot 之 普通类获取Spring容器中的bean
我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接使用 ...
- SpringBoot 之 普通类获取Spring容器中的bean
[十]SpringBoot 之 普通类获取Spring容器中的bean 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器 ...
- spring扩展点之四:Spring Aware容器感知技术,BeanNameAware和BeanFactoryAware接口,springboot中的EnvironmentAware
aware:英 [əˈweə(r)] 美 [əˈwer] adj.意识到的;知道的;觉察到的 XXXAware在spring里表示对XXX感知,实现XXXAware接口,并通过实现对应的set-XXX ...
- SpringBoot框架——从SpringBoot看IoC容器初始化流程之方法分析
目录 一.概观Spring Boot 二.Spring Boot应用初始化 2.1 初始化入口 2.2 SpringApplication的run方法 2.3 方法分析 三.容器创建与初始化 3.1 ...
- 手把手教你调试SpringBoot启动 IoC容器初始化源码,spring如何解决循环依赖
授人以鱼不如授人以渔,首先声明这篇文章并没有过多的总结和结论,主要内容是教大家如何一步一步自己手动debug调试源码,然后总结spring如何解决的循环依赖,最后,操作很简单,有手就行. 本次调试 是 ...
随机推荐
- 红米手机.驱动.XP安装
1.发现 官网上下载的 驱动在 XP下安装不上去... (Win7 记得 貌似 没有问题...) 1.1.网上搜到的 解决方案为:解决手机不能连电脑 XP系统无法安装MTP设备驱动的终极解决_小米No ...
- DPDK之(八)——vhost库
转:http://www.cnblogs.com/danxi/p/6652725.html vhost库实现了一个用户空间的virtio net server,允许用户直接处理virtio ring队 ...
- Django进阶Form篇
一.django表单系统中,所有的表单类都作为django.forms.Form的之类创建,包括ModelForm 关于django的表单系统,主要分两种: 1.基于django.forms.Form ...
- java处理HTTP请求
import com.diyfintech.wx.service.HttpService; import org.springframework.stereotype.Service; import ...
- redis之linux下的安装
安装 1.在/usr/local下新建redis文件夹 #mkdir redis 2.去redis.io下载redis安装包 # wget http://download.redis.io/relea ...
- 如何批量更改linux文件的内容
在工作当中,我们往往需要修改某个文件夹下面所有文件的内容,例如把里面的日期统一替换成新的日期,或者把某一串字符替换成另外一串字符,这时我们就可以使用sed命令: sed -i "s/olds ...
- 使用VS自带的工具分析.NET程序的性能
(转自:http://www.cnblogs.com/DebugLZQ/archive/2012/07/10/2585245.html) 这篇博文给大家分享的是,如何使用VS自带的性能分析工具来分析我 ...
- OC-协议与代理
[协议]================================================================ @protocol [协议的作用]:规定了需要实现的接口方法, ...
- Spring Batch教程
Spring Batch系列总括 : http://www.cnblogs.com/gulvzhe/archive/2011/12/20/2295090.html
- css: 基础一
1.display有哪些值?说明他们的作用 @1.block:设定元素为块级元素,占据一整行,可设置宽高. @2.inline-block: 设定元素行内块元素,可设置宽高,一行能显示多个. @3.i ...