0


SpringBoot(一)之初始化

SpringBoot(一)之初始化


文章目录

SpringBoot框架

Spring Boot 是一个开源的 Java Web 开发框架,它基于 Spring 框架,旨在简化和加快 Spring 应用程序的开发过程。它提供了一种快速构建应用程序的方式,通过自动配置和约定优于配置的原则,让开发者能够更专注于业务逻辑的实现,而不必花费过多时间在繁琐的配置上。

以下是 Spring Boot 的一些主要特点和优势:

  1. 简化配置: Spring Boot 使用约定优于配置的原则,通过自动配置来减少开发者的配置工作。许多常见的配置都会自动完成,开发者只需专注于业务逻辑的编写。
  2. 内嵌服务器: Spring Boot 内置了多种常见的 Web 服务器,如 Tomcat、Jetty 等,使得开发者可以直接在应用中运行,而不需要额外部署独立的服务器。
  3. 依赖管理: Spring Boot 使用 Maven 或 Gradle 进行依赖管理,通过提供一组合适的“starter”依赖,可以很方便地集成常用的框架和库,如 Spring MVC、JPA、Thymeleaf 等。
  4. 监控和管理: Spring Boot 提供了丰富的监控和管理功能,可以轻松集成健康检查、指标监控、日志记录等,方便开发者对应用程序进行监控和管理。
  5. 集成测试: Spring Boot 提供了方便的集成测试支持,可以快速编写和运行集成测试,保证应用程序的质量和稳定性。
  6. 生态系统: Spring Boot 作为 Spring 生态系统的一部分,与其他 Spring 项目(如 Spring Cloud、Spring Security 等)无缝集成,为开发者提供了丰富的功能和工具支持。

总之,Spring Boot 以其简化配置、内嵌服务器、依赖管理、监控管理、集成测试等特点,极大地提高了 Java Web 应用程序的开发效率和质量,是目前广泛应用的优秀框架之一。

SpringBoot简化配置

1. 创建SpringBoot项目

1.1 利用idea,新建项目,选择

Spring Initializr

,如下图所示

在这里插入图片描述

1.2 选择要加入的SpringBoot模块以及版本信息,如下图所示

在这里插入图片描述

点击创建,等待maven下载jar包等一系列操作后,SpringBoot项目初始化完成。

tips

:这里由于idea版本过高,所以需要手动修改pom.xml中SpringBoot版本和JDK版本。

将parent节点中的父版本号更改为

2.6.4

,将properties中的版本号更改为

8
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.4</version><relativePath/><!-- lookup parent from repository --></parent><properties><java.version>8</java.version></properties>
关于初始化错误

在这里插入图片描述

如图所示,由于Spring的服务器在国外,所以可能会出现如图所示的网络错误。

解决办法:

  • 多次点击重试创建

2. SpringBoot项目结构

SpringBoot项目的结构图如下

在这里插入图片描述

如图所示,可以看到结构由

pom.xml

resources

还有SpringBootStartApplicaiton主类构成

主类
//该注解标注该项目是一个SpringBoot项目,@SpringBootApplicationpublicclassSpringBootStartApplication{//项目的入口,需要将该主类作为参数传给SpringApplication.run方法,作为配置启动publicstaticvoidmain(String[] args){SpringApplication.run(SpringBootStartApplication.class, args);}}
pom.xml
<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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"><modelVersion>4.0.0</modelVersion>
    //定义SpringBoot项目的
    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.4</version><relativePath/><!-- lookup parent from repository --></parent><groupId>cn.axj</groupId><artifactId>spring-boot-start</artifactId><version>0.0.1-SNAPSHOT</version><name>spring-boot-start</name><description>spring-boot-start</description><properties><java.version>8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
1. 关于spring-boot-starter-parent
spring-boot-starter-parent

是 Spring Boot 提供的一个父项目,用于管理 Spring Boot 应用程序的 Maven 或 Gradle 构建。它提供了一组默认的配置和插件,以及一些常用的依赖管理,帮助开发者更方便地构建和管理 Spring Boot 项目。

主要功能包括:

  1. 默认配置:spring-boot-starter-parent 定义了一组默认的 Maven 或 Gradle 配置,包括编译器版本、编码规范检查、资源过滤等,让开发者无需重复配置这些基本设置。
  2. 依赖管理:spring-boot-starter-parent 预先定义了一组常用的依赖版本,如 Spring Framework、Spring Boot、Spring Boot Starter、Spring Boot Test 等,开发者只需在项目中引入相应的 Starter 依赖,无需手动指定版本号。
  3. 插件配置:spring-boot-starter-parent 配置了一些常用的 Maven 或 Gradle 插件,如 Spring Boot Maven Plugin、Surefire Plugin、PMD Plugin 等,用于简化项目的构建和管理过程。
  4. 版本管理:spring-boot-starter-parent 定义了一组常用的第三方库的版本号,如 Hibernate、Jackson、Log4j 等,使得开发者可以更方便地管理这些依赖的版本冲突。

使用

spring-boot-starter-parent

作为父项目可以带来诸多好处,如统一管理依赖版本、减少重复配置、提高项目的可维护性等。因此,在创建 Spring Boot 项目时,通常推荐使用

spring-boot-starter-parent

作为父项目来简化项目的构建和管理。

2. 关于spring-boot-starter-web
spring-boot-starter-web

是 Spring Boot 提供的一个 Starter 模块,用于快速搭建基于 Spring MVC 的 Web 应用程序。它包含了一系列必要的依赖和配置,使得开发者可以快速启动一个 Web 项目,并且可以方便地集成其他相关的 Starter 模块。

主要功能包括:

  1. Spring MVC:spring-boot-starter-web 包含了 Spring MVC 框架所需的依赖和配置,包括控制器、视图解析器、消息转换器等,使得开发者可以方便地编写和管理控制器,并将请求映射到相应的处理方法。
  2. 嵌入式容器:spring-boot-starter-web 默认使用嵌入式的 Servlet 容器(如 Tomcat、Jetty),因此无需额外配置独立的 Servlet 容器,可以方便地在开发环境中启动和测试应用程序。
  3. 静态资源处理:spring-boot-starter-web 集成了对静态资源(如 HTML、CSS、JavaScript 文件)的处理支持,使得这些资源可以被正确地访问和加载。
  4. 模板引擎:spring-boot-starter-web 支持集成多种模板引擎(如 Thymeleaf、FreeMarker、Velocity 等),开发者可以根据自己的喜好选择合适的模板引擎来生成动态内容。
  5. 数据绑定和验证:spring-boot-starter-web 提供了数据绑定和验证的支持,可以方便地将请求参数绑定到控制器方法的参数中,并进行数据验证和处理。
  6. RESTful 支持:spring-boot-starter-web 提供了对构建 RESTful Web 服务的支持,包括通过注解配置 RESTful API、使用 Jackson 进行 JSON 数据处理等。

总之,

spring-boot-starter-web

是 Spring Boot 中一个非常常用的 Starter 模块,它简化了基于 Spring MVC 的 Web 应用程序的开发和配置过程,使得开发者可以更快速、更方便地构建和部署 Web 项目。

3. 关于spring-boot-starter-test
spring-boot-starter-test

是 Spring Boot 提供的一个 Starter 模块,用于在 Spring Boot 应用程序中进行单元测试和集成测试。它包含了一系列常用的测试工具和框架,使得开发者可以方便地编写、运行和管理测试用例。

主要功能包括:

  1. JUnit:spring-boot-starter-test 默认集成了 JUnit 测试框架,开发者可以使用 JUnit 编写单元测试和集成测试用例,对应用程序的各个组件进行测试。
  2. Spring Test:spring-boot-starter-test 提供了 Spring Test 框架的集成支持,可以方便地使用 Spring 的上下文加载机制,进行 Spring 应用程序的集成测试。
  3. Spring Boot Test:spring-boot-starter-test 提供了 Spring Boot Test 框架的集成支持,可以方便地编写和运行针对 Spring Boot 应用程序的集成测试,包括对控制器、服务、数据访问层等组件的测试。
  4. Mockito:spring-boot-starter-test 默认集成了 Mockito 框架,用于模拟和测试对象之间的交互关系,使得开发者可以方便地编写和管理 Mock 对象。
  5. Hamcrest:spring-boot-starter-test 默认集成了 Hamcrest 断言库,用于编写更加灵活和易读的断言语句,提高测试代码的可读性和可维护性。
  6. Spring Boot 支持:spring-boot-starter-test 还提供了一些 Spring Boot 相关的辅助类和工具,如 @SpringBootTest 注解、TestRestTemplate@MockBean 注解等,用于简化 Spring Boot 应用程序的集成测试过程。

总之,

spring-boot-starter-test

是 Spring Boot 中一个非常常用的 Starter 模块,它简化了在 Spring Boot 应用程序中进行单元测试和集成测试的过程,使得开发者可以更方便地编写、运行和管理测试用例,提高应用程序的质量和稳定性。

4. 关于spring-boot-maven-plugin
spring-boot-maven-plugin

是 Spring Boot 提供的一个 Maven 插件,用于将 Spring Boot 应用程序打包成可执行的 JAR 文件或者 WAR 文件,并提供了一些其他功能,如运行应用程序、生成和处理资源文件等。

以下是

spring-boot-maven-plugin

的一些主要功能:

  1. 打包应用程序:spring-boot-maven-plugin 可以将 Spring Boot 应用程序打包成可执行的 JAR 文件或者 WAR 文件,这样可以方便地将应用程序部署到服务器上运行。
  2. 运行应用程序: 通过 spring-boot:run 命令,可以直接在开发环境中运行 Spring Boot 应用程序,而不需要额外安装或配置服务器环境。
  3. 处理资源文件:spring-boot-maven-plugin 可以处理应用程序的资源文件,如静态资源、模板文件等,使得这些文件能够被正确地打包和访问。
  4. 自定义属性: 可以通过插件配置自定义应用程序的属性,如服务器端口号、上下文路径等,从而实现应用程序的灵活配置。
  5. 重新打包:spring-boot:repackage 命令可以重新打包已经存在的 JAR 文件,用于添加或更新应用程序的依赖,而无需手动重新构建整个项目。
  6. 增强功能:spring-boot-maven-plugin 还提供了一些其他功能,如生成可执行的脚本文件、运行集成测试、生成项目文档等,以提高开发者的生产力和项目的可维护性。

总之,

spring-boot-maven-plugin

是 Spring Boot 开发中一个非常有用的 Maven 插件,它简化了应用程序的打包、运行和部署过程,并提供了一些其他功能,使得开发者能够更轻松地构建和管理 Spring Boot 项目。

3.测试web访问

在springbootstarter包下创建controller包,并创建TestController

@RestControllerpublicclassTestController{@GetMapping("/test")publicStringtest(){return"hello";}}

在SpringBootStartApplication中找到main方法,并点击运行,观察console

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.6.4)

2024-05-14 18:06:25.211  INFO 7276 --- [           main] c.a.s.SpringBootStartApplication         : Starting SpringBootStartApplication using Java 1.8.0_261 on DESKTOP-SQBHU59 with PID 7276 (D:\practise\spring-all\spring-boot-start\target\classes started by aoxiaojun in D:\practise\spring-all)
2024-05-14 18:06:25.213  INFO 7276 --- [           main] c.a.s.SpringBootStartApplication         : No active profile set, falling back to 1 default profile: "default"
2024-05-14 18:06:25.746  INFO 7276 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2024-05-14 18:06:25.751  INFO 7276 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-05-14 18:06:25.751  INFO 7276 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.58]
2024-05-14 18:06:25.796  INFO 7276 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-05-14 18:06:25.797  INFO 7276 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 555 ms
2024-05-14 18:06:26.005  INFO 7276 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2024-05-14 18:06:26.012  INFO 7276 --- [           main] c.a.s.SpringBootStartApplication         : Started SpringBootStartApplication in 1.068 seconds (JVM running for 1.887)

看到Spring容器已经启动,并已经启动

tomcat容器

,并且默认端口为8080

浏览器访问localhost:8080/test

返回test

本文转载自: https://blog.csdn.net/aoxiaojun/article/details/138864635
版权归原作者 tuoerke 所有, 如有侵权,请联系我们删除。

“SpringBoot(一)之初始化”的评论:

还没有评论