Spring Boot 开发入门(二)

 

本文介绍的内容包括: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: 8889
  servlet:
    context-path: /springbootdemo-yml

yml 文件需要在 “:” 后面加一个空格。

以上的配置表示项目路径为 /springbootdemo-yml,tomcat 的端口为 8889。

输入 http://localhost:8889/springbootdemo-yml/hello,才能正常访问。

下一篇《Spring Boot 开发入门(三)》将为大家进一步介绍 Spring Boot 的入门知识,欢迎关注。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值