Spring Boot 3.x 快速体验

简介: Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序。Spring Boot 也提供了非常多的三方库快速集成方案,其实就是我们开发中常用的 starter。通常大多数情况下 Spring Boot 运用不需要过多的 Spring 配置。

创建项目


创建我推荐大家直接在 https://start.spring.io/上完成,非常适合新上手的小白以及我这样喜欢科学利用工具的人。如下图所示:


image.png


现在 SpringSpring Boot等相关系列的组件都开始往 Gradle 上靠。我们本次,以及该系列的文章都统一采用 Gradle 作为依赖管理。


Spring Boot我们本次选择 3.x ,JDK 依然选择 1.8 因为这也是大多数互联网公司的主流版本。


配置文件


build.gradle配置文件如下所示:


plugins {
    id 'org.springframework.boot' version '3.0.0-SNAPSHOT'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}
group 'io.zhengsh'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}
repositories {
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
}
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
    useJUnitPlatform()
}


在配置文件中, 我主要是加入了 :


spring-boot-starter-web 主要是提供 Spring MVC 相关的依赖,让我们可以方便定义接口。


lombok 就是一个代码生成的工具,非常方便,可以快速帮我们生成 POJO 的 get、set 方法,生成构造器,构造方法,让代码非常的简洁,提升可读性。主要注意的是要配合 IDEA 、Eclipse 插件来一起使用


测试代码


创建接口 API 文件:


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
  @GetMapping("/")
  public String index() {
    return "Greetings from Spring Boot!";
  }
}


上面这段代码主要是为我们对外暴露一个 API 接口,接口地址是服务的默认访问地址,当我们发起 get 请求的时候就可以直接在屏幕上打印 Greetings from Spring Boot!.


然后创建启动文件, 这个文件是必须要的,它的功能非常强大,也是我们 Spring Boot 启动文件的标准模板,大家可以看到我们在这个过程中基本没有 XML 业务配置,就完成了 Spring Boot 应用的编写。


@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}


@SpringBootApplication 是一个应用启动类的注解,它添加了以下所有内容:


  • @Configuration: 将类标记为应用程序上下文的 bean 定义源。


  • @EnableAutoConfiguration:告诉 Spring Boot 根据类路径设置、其他 bean 和各种属性设置开始添加 bean。例如,如果 spring-webmvc位于类路径上,则此注释将应用程序标记为 Web 应用程序并激活关键行为,例如设置 DispatcherServlet


  • @ComponentScan: 告诉 Spring 在包中查找其他组件、配置和服务 io.xcyb,让它找到控制器。


main()方法使用 Spring Boot 的 SpringApplication.run()方法来启动应用程序。


启动和访问


通过 IDEA 启动以后访问和显示如下


$ curl localhost:8080
Greetings from Spring Boot!


项目总结


其实 Spring Boot 非常简单,极大程度的简化了咱们开发的成本,以及屏蔽了非常复杂的 Spring 配置,目前基本是 0 配置。这个也是 Spring Boot 被广泛的 Java 程序员所接受的原因。还有一方面就是它提供了非常方便的集成/拓展点和丰富的组件, 后续的文章会陆续更新下面的内容:


  • Web 组件


  • I/O 组件


  • Data 组件(SQL/NoSQL)


  • Message 组件(支持主流MQ : Kafka, RocketMQ、RabbitMQ)


  • Security 组件(支持 Auth2, Spring Security、LDAP)


  • 还有基于 Spring Boot 为基础的 Spring Cloud 系列的组件


通过这些组件的支持,我们可以快速完成一个 Java 单体运用,极大的提升了我们的开发效率,同时也降低了程序开发的学习成本。


参考文档



相关文章
|
22天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
38 0
|
1天前
|
安全 Java 应用服务中间件
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
4 0
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
|
3天前
|
XML Java C++
【Spring系列】Sping VS Sping Boot区别与联系
【4月更文挑战第2天】Spring系列第一课:Spring Boot 能力介绍及简单实践
28 0
【Spring系列】Sping VS Sping Boot区别与联系
|
2月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
|
3月前
|
Java
springboot项目打包瘦身
springboot项目打包瘦身
|
5月前
|
Java 测试技术
Springboot集成JUnit5优雅进行单元测试
Springboot集成JUnit5优雅进行单元测试
|
安全 Java Maven
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
1295 1
|
9月前
|
Java Maven
【Springboot】创建boot工程spring-boot-maven-plugin报红、出错_解决方案
【Springboot】创建boot工程spring-boot-maven-plugin报红、出错_解决方案
313 0
|
9月前
|
SQL druid 前端开发
让SpringBoot不需要Controller、Service、DAO、Mapper,卧槽!这款工具绝了!
让SpringBoot不需要Controller、Service、DAO、Mapper,卧槽!这款工具绝了!
|
11月前
|
Java C++ Spring
Spring Boot - ConfigDataEnvironmentPostProcessor(Boot 2.4)搞定配置文件加载优先级
Spring Boot - ConfigDataEnvironmentPostProcessor(Boot 2.4)搞定配置文件加载优先级
236 0