博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手写简化版SpringBoot
阅读量:4966 次
发布时间:2019-06-12

本文共 1344 字,大约阅读时间需要 4 分钟。

Springboot项目全部依赖注解的,web工程是如何启动的

1 首先引入了Tomcat依赖,然后用java代码启动Tomcat容器,默认Tomcat版本是8.5版本

2 Tomcat是实现了servlet3.0规范,在servlet加载类的过程中会寻找实现了ServletContainerInitializer接口的类,spring为我们实现了这个接口的类是SpringServletContainerInitializer,最后又会去调用实现了WebApplicationInitializer接口的类,最后真正是实现WebApplicationInitializer接口的是这个AbstractAnnotationConfigDispatcherServletInitializer,然后在该类中去初始化spring容器和springmvc容器和servlet拦截的url

public class AppTomcat {    public static void main(String[] args) throws ServletException, LifecycleException {        start();    }    public static void start() throws ServletException, LifecycleException {        //创建Tomcat容器和设置端口        Tomcat tomcatServer = new Tomcat();        tomcatServer.setPort(9090);                StandardContext ctx = (StandardContext) tomcatServer.addWebapp("/", new File("src/main").getAbsolutePath());        ctx.setReloadable(false);        WebResourceRoot resources = new StandardRoot(ctx);                File additionWebInfClasses = new File("target/classes");        //告诉Tomcat项目的class目录,根目录        resources.addPreResources(                new DirResourceSet(resources, "/WEB-INF/classes", additionWebInfClasses.getAbsolutePath(), "/"));        //启动容器        tomcatServer.start();        tomcatServer.getServer().await();            }    }

项目结构:

github下载地址:

转载于:https://www.cnblogs.com/moris5013/p/11165407.html

你可能感兴趣的文章