前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot最佳实践,它来了,它来了

SpringBoot最佳实践,它来了,它来了

作者头像
程序猿小亮
发布2021-12-07 11:13:09
8890
发布2021-12-07 11:13:09
举报

前言

上篇博文(SpringBoot自动配置原理,你真的懂吗?)我们详细的介绍了SpringBoot是如何完成自动配置功能的,以及具体的原理。SpringBoot的强大,大家也有所了解了,SpringBoot更加强大的地方是提供了很多的Starter,而且覆盖了我们日常开发的方方面面。如果没有领悟使用精髓,下面我们一起来看一下(大佬请绕行):

什么是Starter?

Starters是一组可以在应用程序中更加方便使用的依赖关系。可以一站式地获得所需的所有Spring和其他相关技术,而我们不需要搜索示例代码和复制粘贴大量依赖。例如,如果您想开始使用Spring和JPA进行数据库访问,在项目中添加Spring-boot-starter-data-jpa依赖项即可。

Starters包含很多的依赖项,您需要这些依赖项来快速启动和运行项目,并使用一组一致的、受支持的托管传递依赖项。

Starter命名约定

所有官方的starter都遵循spring-boot-starter-*的命名方式,其中*是指特定类型的应用。这样的命名方式可以帮助我们非常方便的查找starter。在POM编辑器中按ctrl-space 并输入spring-boot-starter可以获得完整的starter列表,一目了然。

Spring Boot官方建议非官方的Starter命名格式遵循xxxx-spring-boot-starter ,例如 mybatis-spring-boot-starter 。

在这里插入图片描述
在这里插入图片描述

各种Starter

SpringBoot提供的官方Starter涵盖程序设计的方方面面,我列举了一些我认为平时比较常用的starter,对于这些starter的使用(更多starter请移步官网),我们后续的博文会重点介绍。

Spring Boot application starters

名称

描述

spring-boot-starter

核心入门工具,包括自动配置支持,日志记录和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-batch

使用Spring Batch的入门

spring-boot-starter-cache

开始使用Spring Framework的缓存支持

spring-boot-starter-data-elasticsearch

使用Elasticsearch搜索和分析引擎以及Spring Data Elasticsearch的入门者

spring-boot-starter-data-jdbc

使用Spring Data JDBC的入门

spring-boot-starter-data-jpa

将Spring Data JPA与Hibernate结合使用的入门

spring-boot-starter-data-mongodb

使用MongoDB面向文档的数据库和Spring Data MongoDB的入门

spring-boot-starter-data-redis

使用Redis键值数据存储与Spring Data Redis和Lettuce客户端的入门

spring-boot-starter-data-redis-reactive

将Redis键值数据存储与Spring Data Redis Reacting和Lettuce客户端一起使用的入门

spring-boot-starter-data-rest

使用Spring Data REST通过REST公开Spring数据存储库的入门

spring-boot-starter-freemarker

使用FreeMarker视图构建MVC Web应用程序的入门

spring-boot-starter-jdbc

结合使用JDBC和HikariCP连接池的入门

spring-boot-starter-json

读写JSON入门

spring-boot-starter-mail

使用Java Mail和Spring Framework的电子邮件发送支持的入门

spring-boot-starter-oauth2-client

使用Spring Security的OAuth2 / OpenID Connect客户端功能的入门

spring-boot-starter-oauth2-resource-server

使用Spring Security的OAuth2资源服务器功能的入门

spring-boot-starter-quartz

入门使用Quartz Scheduler

spring-boot-starter-security

使用Spring Security的入门

spring-boot-starter-test

用于使用包括JUnit,Hamcrest和Mockito在内的库测试Spring Boot应用程序的入门程序

spring-boot-starter-thymeleaf

使用Thymeleaf视图构建MVC Web应用程序的入门

spring-boot-starter-validation

通过Hibernate Validator使用Java Bean验证的入门

spring-boot-starter-web

使用Spring MVC构建Web(包括RESTful)应用程序的入门者。使用Tomcat作为默认的嵌入式容器

Spring Boot production starters

spring-boot-starter-actuator

使用Spring Boot的Actuator的入门程序,它提供了生产就绪功能,可帮助您监视和管理应用程序

最佳实践

对于starter的使用,我为大家进行了简单的总结,基本需要注意的就两点:

  1. 引入starter依赖(废话,但重要) 我们需要在pom中引入我们需要开发某项功能的相关starter(经常使用的starter,详见上面的列表)。starter会自动导入相关的jar依赖,以及所有的自动化配置。
  2. 修改配置属性 根据自己的需要,修改对应的配置属性。修改配置属性即可以根据官方文档查看,也可以自己分析,xxxProperties绑定了哪些配置内容。
    1. 参照官方文档修改配置项 当然,能力比较强的同学,也可以自己分析,通过xxxProperties绑定了配置文件的哪些内容。根据自己的需要,修改配置项,在自己应用程序的application.properties或application.yml中添加配置,覆盖默认的配置属性。
    2. 自定义Bean或组件 对于特殊的bean与组件,我们可以通过自定义Bean的形式,使用注解@Bean @Componet,来覆盖默认的配置,已达到定制化的目的。

如下图所示:

在这里插入图片描述
在这里插入图片描述

评论区留言

大家想看SpringBoot与什么技术的整合文章,可以在评论区留言,我会在评论区找一个呼声最高的技术来优先分享,敬请期待

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 什么是Starter?
  • Starter命名约定
  • 各种Starter
    • 最佳实践
    • 评论区留言
    相关产品与服务
    云数据库 Redis
    腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档