欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

志宇-springBoot启动

发布时间:2024/3/26 编程问答 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 志宇-springBoot启动 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

springBoot是如何启动的

springBoot的部署

  • 通过maven插件执行install命令,将项目打包成一个jar文件在target目录下
  • 执行jar包中的内容, 在服务器上执行java -jar jar包名
  • 启动成功
  • jar包内容

    org: 存储springboot启动应用的类
    BOOT-INF: 存储编译后的代码 和 第三方jar包
    META-INF: 存储启动信息,主要信息如下

    Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: com.example.demo.DemoApplication

    springBoot启动

    java -jar 执行后会启动 org.springframework.boot.loader.JarLauncher 类
    这个类会通过 自己编译后的代码 和 第三方jar包所在路径 重写类加载器,通过类加载器反射执行@SpringBootApplication下的main方法 (因jar包和war包启动项目路时存放类的路径不同)

    springBoot启动代码导入

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-loader</artifactId><version>2.0.5.RELEASE</version></dependency>

    代码运行如下

    JarLauncher 中的main方法

    会根据jar的运行目录重写一个类加载器 ClassLoader

    通过反射调用@SpringBootApplication下的main方法

    如果想要打断点可以通过JDWP来远程对服务器打断点调试,但是要求本地代码和项目代码相同

    总结

    以上是生活随笔为你收集整理的志宇-springBoot启动的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。