创建项目
创建我推荐大家直接在 https://start.spring.io/
上完成,非常适合新上手的小白以及我这样喜欢科学利用工具的人。如下图所示:
现在 Spring
、Spring 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 单体运用,极大的提升了我们的开发效率,同时也降低了程序开发的学习成本。