spring-boot-start
1. @SpringBootApplication
注解@ SpringBootApplication使得配置更加简单,类添加注解@ SpringBootApplication,相当于添加了以下的多个注解
@Configuration将类标记为应用程序上下文的bean定义源。@Configuration中所有带@Bean注解的方法都会被动态代理。从定义来看,@Configuration注解本质上还是@Component,因此或者@ComponentScan都能处理@Configuration注解的类。
@EnableAutoConfiguration告诉Spring Boot基于classpath settings添加bean、其他bean和各种属性注解。
通常您会为Spring MVC应用程序添加@EnableWebMvc,但是Spring Boot在类路径上看到spring-webmvc时会自动添加它。这将应用程序标记为web应用程序并激活关键行为,例如设置DispatcherServlet。
@ComponentScan告诉Spring在hello包中查找components,configurations(配置), and services(服务) ,以及查找controllers.
2. SpringApplication.run()启动应用
main函数使用spring boot提供的SpringApplication.run()启动应用
还有一个CommandLineRunner方法,标记为@Bean,它在启动时运行。它检索所有由您的应用程序创建或由于Spring Boot而自动添加的bean。它将它们分类并打印出来。
3. @RestController
类添加注解@RestController,表示使用Spring MVC接收处理web请求。@RequestMapping将/映射到具体方法上,该url返回纯文本。注解@RestController 是注解@Controller和@ResponseBody的结合体,这两个注解将结果以纯文本方式返回,而不是视图view。
4. spring-boot测试
您将希望为您添加的端点添加一个测试,Spring测试已经为此提供了一些机制,并且很容易包含在您的测试中
MockMvc来自Spring测试,允许您通过一组方便的构建器类向DispatcherServlet发送HTTP请求,并对结果进行断言。注意使用@AutoConfigureMockMvc和@SpringBootTest来注入一个MockMvc实例。使用@SpringBootTest之后,我们要求创建整个应用程序上下文。另一种方法是让Spring Boot使用@WebMvcTest只创建上下文的web层。无论在哪种情况下,Spring Boot都会自动尝试定位应用程序的主应用程序类,但如果您想构建不同的应用程序,您可以覆盖它,或者缩小范围。
除了模拟HTTP请求周期,我们还可以使用Spring Boot编写一个非常简单的全堆栈集成测试。例如,我们可以不使用上面的模拟测试,而是使用project。
网友评论