本文介绍的内容包括:Spring Boot 的 pom文件、应用入口类、开发测试热启动,以及 Spring Boot 的配置文件。
1
pom 文件、应用入口类
1、pom 文件介绍
具体介绍可参见以下的代码注释:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- pom模型版本 --><modelVersion>4.0.0</modelVersion><!-- 配置 Spring Boot 的父级依赖,用来提供相关的 Maven 默认依赖,使用它可以省去常用的包依赖就 version 标签。--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version><relativePath /> <!-- lookup parent from repository --></parent><!-- <groupId>,<artifactId>与<version>标识了仓库中的一个特定位置,叫项目坐标 --><!-- groupId是项目组织唯一的标识符,实际对应java的包的结构 --><groupId>com.jpm</groupId><!-- ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称 --><artifactId>springbootdemo</artifactId><!-- 版本 --><version>0.0.1-SNAPSHOT</version><!-- 打包方式 (war,jar) --><packaging>war</packaging><!-- 项目的名称,Maven产生的文档用 --><name>springbootdemo</name><!-- 项目的描述,Maven产生的文档用 --><description>Demo project for Spring Boot</description><properties><!-- jdK版本 --><java.version>1.8</java.version></properties><dependencies><dependency><!-- 加载web模块 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 加载tomcat模块 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><!-- 加载测试模块 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><!-- 将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
2、应用入口类
Spring Boot 项目通常有一个名为 xxxApplication 的入口类,入口类里有一个 main 方法, 这个 main 方法其实就是一个标准的 Java 应用的入口方法。
package com.jpm.springboot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringbootdemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootdemoApplication.class, args);}}
@SpringBootApplication 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,@SpringBootApplication 注解也可以使用这三个注解代替。
Spring Boot 会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean ,所以入口类建议就定义在 grounpID + arctifactID 组合的包下(例如:com.jpm.springboot 包)。
@SpringBootConfiguration 与 @Configuration 注解的功能一致,标注这个类是一个配置类,只不过@SpringBootConfiguration 是 Spring Boot 的注解,而@Configuration 是 Spring 的注解。@Configuration 注解替代以前的 applicationContext.xml 文件,完成 spring 容器的初始化。
@EnableAutoConfiguration 开启自动装配,让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。
@ComponentScan 主要是指定扫描路径,用于类或接口上,spring 会把指定路径下带有指定注解的类自动装配到bean容器里。会被自动装配的注解包括@Controller、@Service、@Component、@Repository 等。其作用相当于<context:component-scan base-package="com.jpm.springboot" /> 配置。
2
Spring Boot 热启动
每次写完代码,想要代码生效,总是要重新启项目,这样很费时间,热启动在项目开发中已经很常见了,而 Spring Boot 对开发调试也有很好的支持,修改代码之后可以实时生效,只需在 pom.xml 里配置以下的代码:
<!-- springBoot 热启动,代码修改之后可以实时生效,不用重启 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
3
Spring Boot 的配置文件
Spring Boot 提供了两种常用的配置文件,分别是 properties 文件和 yml 文件。他们的作用都是修改 Spring Boot 自动配置的默认值。
1、properties 文件
Spring Boot 配置文件的目录:src/main/resources/application.properties
properties 文件的语法结构:key=value
## 配置应用的上下文路径,也就是项目路径,是构成url地址的一部分
server.servlet.context-path=/springbootdemo## 配置端口
server.port=8888
以上的配置表示项目路径为 /springbootdemo,tomcat 的端口为 8888。
输入 http://localhost:8888/springbootdemo/hello,才能正常访问。
2、yml 文件
yml 是YAML(YAML Ain't Markup Language)语言的文件,以数据为中心,在配置数据的时候具有面向对象的特征,更适合做配置文件,yml 文件以空格的缩进程度来控制层级关系。空格的个数并不重要,只要左边空格对齐则视为同一个层级。注意不能用 tab 代替空格,且大小写敏感。
Spring Boot 配置文件的目录:src/main/resources/application.yml
server:port: 8889servlet:context-path: /springbootdemo-yml
yml 文件需要在 “:” 后面加一个空格。
以上的配置表示项目路径为 /springbootdemo-yml,tomcat 的端口为 8889。
输入 http://localhost:8889/springbootdemo-yml/hello,才能正常访问。
下一篇将继续为大家进一步介绍 Spring Boot 的入门知识,欢迎关注。
扫码加好友,拉你进流群,一起探讨交流!