程序员的公众号:源1024,获取更多资料,无加密无套路!
最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上
Spring Boot的jar文件可以直接运行的原因:
-
内嵌的Web服务器
Spring Boot内置了多种Web服务器,如Tomcat、Jetty和Undertow等,可以直接通过运行jar文件来启动Web服务器,加载并执行应用程序,自动扫描并加载代码。通过内置的应用程序容器,可以将整个应用程序打包成一个独立的可执行文件,方便部署和运行。
-
自动化的配置
不需要手动编写配置代码,Spring Boot会根据约定和默认值自动完成配置,大大简化了应用程序的配置过程。
-
Maven插件
Spring Boot提供了Maven插件,自动下载并管理所需的依赖库,用于将应用程序打包成可执行的JAR文件。
-
MANIFEST.MF文件
JAR文件包含一个名为MANIFEST.MF的文件,其中包含了关于JAR文件的元数据信息。其中,主要的信息是Main-Class,它指定了启动应用程序的主类。
-
JarLauncher类
Spring Boot的可执行JAR文件通常由JarLauncher类启动。JarLauncher负责创建一个类加载器(LaunchedURLClassLoader),加载boot-lib目录下的JAR文件,在一个新线程中启动应用程序的Main方法,实现应用程序的启动,当执行Main方法最终会加载Spring容器、进而创建内嵌容器使jar包完成web应用的启动。
系列文章索引
MyBatis的插件能在哪些地方进行拦截?
了解MyBatis的缓存机制吗
面试官:谈谈对volatile的理解
Spring中用到了哪些设计模式
面试官:说一下SQL的执行过程
线程池的工作原理