SpringBoot高级面试题

时间:2020-08-19 19:49:39   收藏:0   阅读:190

1.为什么SpringBoot的jar包可以直接运行?

  SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。

  然后可以直接执行jar包就能启动程序了:java -jar executable-jar-1.0-SNAPSHOT.jar

  当我们使用java -jar执行jar包的时候会调用JarLauncher的main方法,而不是我们编写的SpringApplication。

  JarLauncher这个类是SpringBoot内部提供的工具Spring Boot Loader提供的一个用于执行Application类的工具类。

  LaunchedURLClassLoader重写了loadClass方法,也就是说它修改了默认的类加载方式,不再是直接从父类加载器中去加载。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!