POM文件
- 程序中的许多依赖jar包是通过配置pom.xml文件来实现的,在pom.xml文件中有org.springframework.boot的父项目.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
- 打开可以看到其内部有一些jdk版本、配置文件格式一些插件配置的信息还有另一个org.springframework.boot的父项目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.1.RELEASE</version>
</parent>
-
进一步点开看到大量的版本信息,其是实际管理springboot应用中各种依赖的版本限制
版本仲裁
springboot场景启动器
在pom.xml中看到许多库都有spring-boot-starter的前缀,如前面的spring-boot-starter-parent还有下面的spring-boot-starter-web,spring-boot-starter-parent是针对于springboot的所有场景都需要的依赖,而对于不同的新的场景springboot组织已经帮我们细化出来,只需要pom.xml文件中导入相关的场景启动器名就可以获得该场景下所有的依赖包的依赖名,然后maven便可以依照spring-boot-starter-parent中的版本仲裁选择版本并下载该场景下的依赖。
场景启动器类型如对于web应用下的就使用spring-boot-starter-web启动器,springboot便会加入web开发需要用到的许多依赖,不需要像之前一个个依赖填入pom.xml进行导入。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
主程序类
@SpringBootApplication用于标注某个类作为整个程序的主程序,其本身是一个复杂的组合注解,如@SpringBootConfiguration表示这是一个springboot的配置类,而内部是@Configuration是spring的配置类,将配置类表示配置文件的一个标志;@EnableAutoConfiguration则是开启自动配置功能,开启后springboot可以帮我们自动配置相关
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
}
网友评论