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(); 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

最新文章

  1. python3简单爬虫
  2. AC日记——产生数 codevs 1009 (弗洛伊德)(组合数学)
  3. NOIP199904求Cantor表
  4. C++中的容器类详解
  5. 309. Best Time to Buy and Sell Stock with Cooldown
  6. 白书P60 - 硬币问题
  7. OpenGL中的投影使用
  8. 解决Flash挡住层用z-index无效的问题
  9. VS2008LINK : fatal error LNK1000: Internal error during IncrBuildImage
  10. chrome浏览器iframe兼容性问题,隐藏起来再显示滚动条消失?
  11. [USACO12JAN]爬山Mountain Climbing
  12. pfSense软件防火墙安装配置
  13. Spring Boot 整合Mybatis非starter时,mapper一直无法注入解决
  14. (转)python 全栈开发,Day74(基于双下划线的跨表查询,聚合查询,分组查询,F查询,Q查询)
  15. css实现自适应正方形
  16. 2017.7.4 ACM校内赛 Round 2
  17. 学习 C++,关键是要理解概念,而不应过于深究语言的技术细节
  18. 以json格式打印实体类信息
  19. 【动态规划去除冗余】NOIP2010-乌龟棋
  20. SQL Server 2012自动备份

热门文章

  1. cors劫持用户凭证任意登陆
  2. [ARIA] aria-describedby & aria-labelledby
  3. yolov1详细讲解
  4. php Web 项目的文件/文件夹上传下载
  5. asp.net解决大文件断点续传
  6. 函数(定义、参数、return、变量、作用域、预解析)
  7. 【luoguP5091】【模板】欧拉定理
  8. 【luoguP4544】[USACO10NOV]购买饲料Buying Feed
  9. c博客作业01--顺序分支结构
  10. HTML试题解析