有很多人建议我使用Spring Boot而不是Spring来开发REST web服务。我想知道这两者到底有什么不同?
发布于 2015-05-06 23:28:53
基本上,Spring Boot是Spring应用程序的一个固执己见的实例。
Spring Boot是一个快速的应用程序开发平台。它使用Spring的各种组件,但具有额外的优点,比如能够将应用程序打包为可运行的jar,其中包括嵌入式tomcat (或jetty)服务器。此外,Spring Boot还为您提供了大量的自动配置功能(固执己见的部分),它将根据可用的或缺少的类/bean来选择要创建的内容。
我会赞同他们的观点,如果你要使用Spring,我想不出有任何理由不使用Spring Boot。
发布于 2017-12-06 19:41:06
Spring Boot是Spring框架项目的固执己见的观点,让我们通过一个取自Spring Boot文档的程序来分析它。
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
这是一个非常基本的REST API,您需要在您的POM.xml
中添加相同的Spring-boot-starter-web
。由于您已经添加了starter-web依赖,注释@EnableAutoConfiguration
猜测您想要开发web应用程序并相应地设置Spring。
Spring Boot自动配置尝试根据您添加的jar依赖项自动配置Spring应用程序。例如,如果HSQLDB
在您的classpath
上,并且您还没有手动配置任何数据库连接bean,那么Spring Boot会自动配置内存中的数据库。
它像maven一样固执己见。Maven为您创建一个项目结构,它认为这是项目的一般模式,就像它为您添加了src/main/java
文件夹或资源文件夹一样。
Spring boot有助于更快的开发。它有许多初学者项目,可以帮助你更快地进行。它还包括许多非功能特性,如:嵌入式服务器、安全性、指标、健康检查等。简而言之,它使基于spring的应用程序开发变得更容易,同时最大限度地减少了入侵代码(更少的配置文件,更少的注释)。
https://stackoverflow.com/questions/30080855
复制相似问题