有很多人建议我使用Spring Boot来开发REST web服务,而不是使用Spring。 我想知道这两者之间的确切区别是什么?
有很多人建议我使用Spring Boot来开发REST web服务,而不是使用Spring。 我想知道这两者之间的确切区别是什么?
简而言之
您可以在这里阅读更多信息 http://projects.spring.io/spring-boot/
很不幸,基于我个人对Spring Boot的沮丧,我仍然没有看到任何真正量化的列表,其中差异被明确地概述出来。 只有像“...有见解的视角...”这样的资格要求被随意传播。
显而易见的是,Spring Boot将一组Spring注释包装成了自己的注释集合。 进一步混淆,并使得任何刚开始使用Spring Boot的人都需要记住特定Spring Boot注释代表的内容。
因此我的回答对原问题没有可量化的好处,这与Spring Boot作者的类比相似。 在我看来,Spring的背后的人们故意让人感到困惑,这体现了他们JavaDoc和API的晦涩难懂(如果你认为我在批评,可以看看SpringBatch API),这让人怀疑他们的开源精神的价值。
我继续寻找解决Spring Boot的方法。
更新. 2022年8月22日
阅读这篇文章 (https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.auto-configuration) ,你会发现“有见解”的意思。 Spring Boot有超过140个Config类可用于此有见解的视图,具体取决于您类路径上的内容。 是的,就在你的类路径上。 最后,令人惊异的是,注释@SpringBootApplication本身就是一个配置注释,因为它包含了这个。
Spring Boot是Spring Framework项目的一种有见解的观点。让我们通过从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);
}
}
POM.xml
中添加Spring-boot-starter-web
。由于您已经添加了starter-web依赖项,注释@EnableAutoConfiguration
会猜测您想开发Web应用程序,并相应地设置Spring。HSQLDB
在您的classpath
上,并且您没有手动配置任何数据库连接bean,则Spring Boot会自动配置内存数据库。src/main/java
文件夹或资源文件夹。如果您正在开发常见的Spring应用程序或开始学习Spring,我认为推荐使用Spring Boot。它极大地简化了工作,已经准备好投入生产,并且正在迅速被广泛采用。
Spring Boot 被认为是有偏见的,即它强烈倡导一种快速开发的风格,但它设计得足够好,可以容纳规则的例外情况。简而言之,它是一种约定优于配置的方法论,愿意理解您在必要时打破惯例的需求。
XML
配置或Java
配置来配置你的项目。 但是对于Spring Boot,这些都是根据Spring团队的观点为快速开发预配置的。这就是为什么Spring Boot被称为Spring Framework的“有主见的看法”。它遵循“约定优于配置”的设计范例。