码迷,mamicode.com
首页 > 编程语言 > 详细

手写简化版SpringBoot

时间:2019-07-10 18:39:00      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:mic   exception   server   mys   eset   创建   cep   span   resource   

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://github.com/jake1263/MySpringBoot

手写简化版SpringBoot

标签:mic   exception   server   mys   eset   创建   cep   span   resource   

原文地址:https://www.cnblogs.com/moris5013/p/11165407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!