关于SpringBoot中spring-boot-starter-*起步依赖参考指南

1. 编写目的

最近也在琢磨SpringBoot框架,SpringBoot为开发者快速创建项目并投入实际业务开发提供了很好的捷径。此文将自己对SpringBoot中spring-boot-starter-*起步依赖理解心得进行整合,也与各位同行进行技术交流。

本文参考于SpringBoot官方2.0.2.RELEASE版本,若存在版本不同导致知识点错误,请以官方最新版本为准。 —— [ SpringBoot官方链接]

2. spring-boot-starter-*依赖介绍

spring-boot-starter-*起步依赖是SpringBoot核心之处,它提供了Spring和相关技术提供一站式服务,让开发者不在关心Spring相关配置,简化了传统的依赖注入操作,当然开发者也可通过application.properties文件自定义配置。
SpringBoot常规启动都遵循类似的命名模式spring-boot-starter-*,其中*是一种指定类型的应用程序,如spring-boot-starter-web表示应用程序依赖SpringWeb相关内容。另外,SpringBoot支持第三方插件引用,第三方启动程序通常以项目的名称开始。例如,mybatis依赖插件引用为mybatis-spring-boot-starter

3. starters起步依赖列表

以下应用程序启动程序由org.springframework下的Spring Boot提供:

3.1 Spring应用程序起步依赖

名称描述
spring-boot-starter核心依赖,包括auto-configuration , logging和YAML。
spring-boot-starter-activemq支持Apache ActiveMQ启动JMS消息。
spring-boot-starter-amqp支持Spring AMQP与Rabbit MQ组件。
spring-boot-starter-aop支持Spring AOP、AspectJ组件。
spring-boot-starter-artemis支持Apache Artemis嵌入式消息服务。
spring-boot-starter-batch支持Spring Batch,一款面向Spring的批处理框架。
spring-boot-starter-cache支持spring的缓存技术。
spring-boot-starter-cloud-connectors支持SpringCloud连接器。
spring-boot-starter-data-jpa支持Hibernate的Spring JPA。
spring-boot-starter-data-mongodb支持mongodb。
spring-boot-starter-data-redis支持redis缓存。
spring-boot-starter-data-solr支持solr,一款比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化的框架。
spring-boot-starter-jdbc支持jdbc连接。
spring-boot-starter-jersey使用JAX-RS和Jersey构建RESTful web应用程序的入门框架。
spring-boot-starter-json支持json数据的读写操作。

3.2 SpringBoot容器依赖

名称描述
spring-boot-starter-jetty使用Jetty作为嵌入式servlet容器。
spring-boot-starter-reactor-netty使用reactor netty作为嵌入式反应性HTTP服务器。
spring-boot-starter-tomcat使用tomcat作为嵌入式servlet容器。
spring-boot-starter-undertow使用undertow作为嵌入式servlet容器。

4. 总结

当然,秉承对技术的执着,既要认可新技术的改革,也要小心求证,扬长避短。以SpringBoot为例,目前国内项目应用广泛的连接池是阿里的Druid。很遗憾,springboot暂未对该连接池提供支持,要想在springboot工程中使用阿里的连接池,你得使用springboot自定义配置(定义驱动、连接地址、用户名、密码等属性),再生成一个JavaBean,再将配置属性注入到bean中,还要注入启动加载等等系列工作,最后发现代码多了一大堆。再如,如果将SpringBoot工程部署到weblogic容器又得面临一大堆兼容问题,还好SpringBoot官方提供了补丁包。这只是简单举例,要想在大型项目中使用SpringBoot还有更长的路要走,因为大工程牵连体系庞大,需要技术兼容和稳定性也更高

小提示:SpringBoot目前支持的连接池有HikariCP、DBCP 、DBCP2 。

目前关于 `spring-ai-ollama-spring-boot-starter` 的具体教程或官方文档尚未被广泛提及或收录于常见的公开资源中。然而,基于 Spring Boot 起步依赖的设计理念[^3],可以推测该 Starter 应当遵循类似的模式来简化 Ollama AI 集成到 Spring Boot 项目中的过程。 以下是有关如何可能使用此类 Starter 的假设性指导: ### 1. 添加依赖 在项目的 `pom.xml` 文件中添加如下 Maven 依赖项(如果使用 Gradle,则需调整语法): ```xml <dependency> <groupId>com.spring.ai</groupId> <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> <version>1.0.0</version> <!-- 假设版本号 --> </dependency> ``` 此依赖应自动配置必要的组件以支持 Ollama AI 功能集成[^1]。 ### 2. 启动类定义 确保应用的主类上标注有 `@SpringBootApplication` 注解以便启用自动配置功能: ```java @SpringBootApplication public class AiOllamaApplication { public static void main(String[] args) { SpringApplication.run(AiOllamaApplication.class, args); } } ``` 上述代码片段展示了标准的 Spring Boot 应用程序入口点设置方式[^4]。 ### 3. 自定义属性配置 通常情况下,Starter 提供者会通过 application.properties 或 application.yml 文件暴露一些自定义选项用于微调行为。例如: ```yaml spring: ai: ollama: apiKey: your-api-key-here model: default-model-name ``` 这些参数的具体含义及其默认值应当参照实际提供的文档说明[^5]。 ### 4. 编写服务逻辑 利用已注入 Bean 实现业务需求处理流程。假定存在名为 `AiService` 的接口及其实现类负责封装底层交互细节,则可以在控制器层这样调用它: ```java @RestController @RequestMapping("/api/ai") public class AiController { private final AiService aiService; public AiController(AiService aiService){ this.aiService = aiService; } @PostMapping("/generate") public String generateText(@RequestBody Map<String,String> payload){ return aiService.generate(payload.get("prompt")); } } ``` 以上示例演示了一个简单的 RESTful API 接口设计思路[^2]。 尽管如此,请注意由于缺乏确切资料支撑,上述内容仅作为理论框架呈现而非权威指南。建议联系开发者社区或者查阅最新发布消息获取最精确的信息源。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值