Spring Boot 启动器项目提供了广泛的自动配置功能集。但是对于我们的应用程序,我们只想拥有一部分功能。可能只是 spring boot 入门项目的一个功能。那么是否建议在 Spring Boot 提供的启动项目之上使用自定义启动项目来掩盖一些功能或直接从较低级别的库中编写新的启动项目?
问问题
228 次
1 回答
0
Spring Boot 启动器项目提供了广泛的自动配置功能集
您在谈论两个不同的问题。
我认为自动配置部分是 Spring Boot 自以为是的配置方式。例如,如果在类路径中找到一个内存数据库库(如H2),它会自动创建一个数据源(指向嵌入式内存数据库),无需您在 Java 配置类中编写配置即可自动装配。当然,您可以通过为该数据库包含适当的驱动程序 jar 来创建自己选择的数据源。类似地,许多其他配置默认通过类路径扫描和某些 jar 和类的可用性来完成。
第二部分 - 通常更多的是依赖问题。假设您想在 Spring boot 中使用 web mvc 部分。这也需要一组一致的依赖项和传递依赖项。它没有在您选择的构建工具(maven、gradle 等)中查找和声明依赖项,而是创建了启动项目的概念,您只需在其中提及父项,所有正确的依赖项都将被拉上。这提供了一种正确锁定依赖项的好方法。但是,如果您想包含与 boot starter 提供的版本不同的任何版本(前提是这些不同版本没有兼容性问题),您仍然可以在构建工具中显式添加。例如,
于 2019-08-29T05:45:50.633 回答