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)