springboot-repeat
- springBoot学习
- 代码说明
- 为什么java -jar springJar包后项目就可以启动
- 配置文件介绍
springBoot学习
依赖引入
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.target>8</maven.compiler.target><maven.compiler.source>8</maven.compiler.source></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.6</version></parent><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!--打包好帮我们把所有依赖的jar 统统放到jar文件里面的BOOT-INF\lib中设置MANIFEST.MF设置了启动类 .JarLauncher:自定义类加载器加载所有的jar包,调用start-class。从而启动项目--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
代码说明
所有的springboot都必须继承spring-boot-starter-parent,通过里面的<artifactId>spring-boot-dependencies</artifactId>帮我们管理了依赖的版本
为什么引入了starter后其他依赖也就被引入了?
一个starter也就是启动器,内置了很多的依赖,就相当于一个聚合,引入一个starter也就都引入了
为什么java -jar springJar包后项目就可以启动
- 先打包
将打的jar包解压可以看到有个BOOT-INF的,里面还有个lib包这个lib包里存的就是项目依赖的其他jar包,叫fat-jar
META-INF中有个MANIFEST.MF文件,里面的Main-Class是所有的jar文件都有的,这个属性会自定义一个类加载器去加载fat-jar中的jar包。然后调用Start-Class去启动项目
配置文件介绍
springboot使用一个全局的配置文件 核心配置文件,配置文件名在 约定的情况下 名字是固定的就叫application
配置文件的作用:修改springboot自动配置的默认值;springboot在底层都给我们自动配置好了。比如端口号,springboot默认端口号8080,但是我们可以通过配置文件覆盖默认配置。