本章内容:
- 使用Spring Boot起步依赖
- 自动进行Spring配置
Spring Boot将Spring开发的自动化程度提升到了一个新的高度,在本章我们看到两种新方法:起步依赖和自动配置。在项目中启用Spring不仅枯燥乏味,还让人分神,你将看到这些基础的Spring Boot特性是如何将你解放出来,让你集中精力开发应用程序的。与此同时,你会写一个很小的Spring应用程序,麻雀虽小五脏俱全,其中会用上Spring Boot。
2.1 运用Spring Boot
在本章,我们构建一个简单的阅读列表应用程序。在这个程序里,用户可以输入想读的图书信息,查看列表,删除已经读过的书。我们将使用Spring Boot来辅助快速开发,各种繁文缛节越少越好。
直接上图:
2.1.1 查看初始化的Spring Boot新项目
- pom.xml:Maven构建说明文件,项目的依赖都配置在这个文件;
- ReadingListApplication.java: 应用程序的启动引导类(bootstrap class),也是主要的Spring配置类。
- application.properties:用于配置应用程序和Spring Boot的属性。
- ReadingListApplicationTests.java: 集成测试类。
1.启动引导Spring
package com.sample.readinglist;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication //开启组件扫描和自动配置
public class ReadingListApplication {
public static void main(String[] args) {
SpringApplication.run(ReadingListApplication.class, args);//负责启动引导应用程序
}
}
@SpringBootApplication 开启了Spring的组件扫描和Spring Boot的自动配置功能。实际上,@SpringBootApplication将三个有用的注解组合在了一起。
- Spring的@Configuration:标明该类使用Spring基于Java的配置。
- Spring的@ComponentScan:启用组件扫描,这样Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean。
- Spring的@EnableAutoConfiguration:这个不起眼的小注解也可以称为@Abracadabra,就是这一行配置开启了Spring Boot自动配置的魔力,让你不需要再写成篇的配置了。
在Spring Boot早期的版本中,需要在ReadingListApplication类上同时标注上这三个注解,但是从Spring Boot 1.2.0开始,有@SpringBootApplication就行了。
实际上,就算一行代码也没写,此时你仍然可以构建应用程序尝尝鲜。
最简单的方法,直接运行main()方法就行
可以看到,应用程序能正常运行,启动一个监听8080端口的Tomcat服务器。可以用浏览器访问http://localhost:8080,但是由于没写控制器类,只会收到一个404错误,看到错误页面。
2.测试Spring Boot应用程序
Initializl还提供看一个测试类的骨架,可以基于它为你的应用程序编写测试。但ReadingListApplicationTests不止是个用于测试的占位符,它还是一个例子,告诉你如何为Spring Boot应用程序编写测试。
package com.sample.readinglist;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class ReadingListApplicationTests {
@Test
void contextLoads() {
}
}
持续更新……