SprintBoot深入浅出讲解场景启动器Starter

SprintBoot深入浅出讲解场景启动器Starter

什么是场景启动器 Starter?

在 Spring Boot 中,Starter 是一种约定俗成的方式,可以将基础依赖项捆绑在一起,从而快速引导应用程序进入不同的场景。场景启动器通常使用以下命名约定:spring-boot-starter-* 。例如, spring-boot-starter-web 提供了在应用程序中使用Spring MVC的所有必需依赖项。

如何自定义 Starter?

可以自定义自己的 Starter ,以便在应用程序中需要使用时轻松引入自己的依赖项。可以通过以下步骤创建自定义 Starter 。

  1. 新建一个 Maven 工程。
  2. 命名方式为: spring-boot-starter-{yourName}
  3. 添加依赖项,这些依赖项将被捆绑在一起作为 Starter 。
  4. 实现 org.springframework.boot.autoconfigure.EnableAutoConfiguration 接口编写自己的 AutoConfiguration。

创造一个自定义 Starter 示例

以下示例将展示如何创建一个名为 spring-boot-starter-mybatis 的自定义 Starter ,并将 Mybatis 依赖项捆绑在一起。

创建 Maven 工程

打开 Maven ,新建一个 Maven 工程,并使用命名约定,命名方式为:spring-boot-starter-mybatis

添加依赖项

将以下依赖项添加到 pom.xml 中:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

实现自动配置

接下来,需要实现自己的配置项。可以通过如下步骤实现:

  1. 创建一个 xxxProperties 类,定义配置属性。
  2. 创建一个 xxxAutoConfiguration 类,定义 @Configuration@ConditionalOnClass 等注解,通过 xxxProperties 中的属性值自动配置 Mybatis 。
@Configuration
@ConditionalOnClass(value = { SqlSessionFactoryBean.class, SqlSessionFactory.class,
        SqlSession.class, org.mybatis.spring.boot.autoconfigure.MybatisProperties.class })
@EnableConfigurationProperties(MybatisProperties.class)
public class MybatisAutoConfiguration {

    private final MybatisProperties properties;

    public MybatisAutoConfiguration(MybatisProperties properties) {
        this.properties = properties;
    }

    @Bean
    public SqlSessionFactory sqlSessionFactory() throws Exception {
        SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
        factory.setDataSource(this.properties.getDataSource());
        return factory.getObject();
    }

}

将自定义 Starter 发布到仓库

在将自定义 Starter 发布到 Maven 仓库/中央仓库之前,需要在工程的根目录下执行以下 Maven 命令:

mvn clean install

使用自定义 Starter 示例

在新的项目中使用自定义 Starter 非常简单。只需将以下 Starter 依赖项添加到新 Mavn 工程的 pom.xml 文件中即可:

<dependency>
  <groupId>com.example</groupId>
  <artifactId>spring-boot-starter-mybatis</artifactId>
  <version>1.0.0</version>
</dependency>

以此,我们就完成了自己的 Starter ,并使用起来非常简单。也可以将 spring-boot-starter-mybatis 发布到 Maven 仓库/中央仓库,使得其他开发者也可以使用该 Starter 。

结束语

以上是关于 Sprint Boot 中场景启动器 Starter 的详细介绍与示例分析。通过自定义 Starter ,可以将既有的依赖捆绑在一起,让项目搭建更简单、更方便。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SprintBoot深入浅出讲解场景启动器Starter - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • hibernate和mybatis对比分析

    文本格式要求: 标题使用#号表示,#号数量表示标题等级,一级标题一个#号,二级标题二个#号,以此类推 代码块使用三个反引号括起来,并标明代码语言 Hibernate和MyBatis对比分析 什么是Hibernate? Hibernate是一个基于Java的ORM框架,即对象关系映射框架。它可以将Java类映射到关系型数据库中的表,使得Java程序员可以使用面…

    Java 2023年5月19日
    00
  • Java Web 实现QQ登录功能一个帐号同一时间只能一个人登录

    首先我们需要了解一下QQ登录的实现流程。 用户打开网站,点击QQ登录按钮。 网站向QQ开放平台发送授权请求,获取用户授权。 QQ开放平台返回用户授权凭证,包含用户唯一标识openid。 网站拿到授权凭证后,向QQ开放平台发送请求,获取用户信息。 网站将用户信息保存在数据库中,同时在用户登录时生成一个token,返回给用户。 用户在访问其他需要登录的页面时,将…

    Java 2023年6月16日
    00
  • SpringBoot使用编程方式配置DataSource的方法

    当使用SpringBoot构建Web应用程序时,我们常常需要使用数据源,这里我们具体讲解使用编程方式配置DataSource的方法。 首先,需要在pom.xml文件中添加相应的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactI…

    Java 2023年5月19日
    00
  • Java+Springboot搭建一个在线网盘文件分享系统

    Java+Springboot搭建一个在线网盘文件分享系统攻略 1.准备工作 1.1 Java环境配置 首先需要安装Java运行环境,下载地址为:https://www.java.com/en/download/ 1.2 Springboot环境配置 Springboot是一个基于Spring框架的轻量级web应用开发框架,可以方便地快速搭建web应用。使用…

    Java 2023年5月19日
    00
  • 微信小程序 websocket 实现SpringMVC+Spring+Mybatis

    下面是实现“微信小程序 websocket 实现SpringMVC+Spring+Mybatis”的完整攻略: 1. 确定小程序基本环境和websocket环境 首先,要开发微信小程序,需要选择对应的开发环境和工具,例如开发者工具、微信web开发者工具等等。同时还需要了解微信小程序开发的基本要求和技术规范。 对于websocket环境,则需要了解websoc…

    Java 2023年5月23日
    00
  • Java中Json字符串直接转换为对象的方法(包括多层List集合)

    Json是一种轻量级的数据交换格式,Java中使用Json字符串来表示对象和集合数据类型,实现Json字符串与Java对象的互相转换对于Java开发人员来说是非常常见的操作。下面详细讲解Java中Json字符串直接转换为对象的方法,包括多层List集合的情况。 一、使用Jackson库实现Json字符串与Java对象的互相转换 在Java中,有很多库可以实现…

    Java 2023年5月26日
    00
  • java web实现简单登录注册功能全过程(eclipse,mysql)

    接下来我详细讲解如何使用Java Web实现简单的登录注册功能全过程,以下是步骤: 步骤一:配置开发环境 在开始项目之前,我们需要搭建好相应的开发环境,主要包括Java SE、Eclipse IDE、MySQL等工具和环境的安装和配置工作。 步骤二:创建Maven Web项目 在Eclipse IDE中创建一个Maven Web项目,建议使用Spring框架…

    Java 2023年6月16日
    00
  • javaweb中mysql数据库连接步骤方法及其实例

    下面是“javaweb中mysql数据库连接步骤方法及其实例”的完整攻略。 步骤一:下载并安装MySQL 这一步很简单,直接去MySQL官网下载MySQL安装包,并按照安装向导进行安装。 步骤二:创建数据库和数据表 在安装好MySQL后,通过MySQL的客户端命令行或者图形界面工具(如Navicat等)连接MySQL并创建一个新的数据库,然后在该数据库下创建…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部