您的位置:首页 > 游戏 > 游戏 > 乐清网站建设推广_最全的网页模板网站_厦门人才网最新招聘信息_安装百度

乐清网站建设推广_最全的网页模板网站_厦门人才网最新招聘信息_安装百度

2024/12/22 15:40:33 来源:https://blog.csdn.net/QQ903275718/article/details/144531220  浏览:    关键词:乐清网站建设推广_最全的网页模板网站_厦门人才网最新招聘信息_安装百度
乐清网站建设推广_最全的网页模板网站_厦门人才网最新招聘信息_安装百度

springboot,vue,springcloudalibaba课程视频,有需要可以看看

<!-- springboot,springboot整合redis,整合rocketmq视频: -->
https://www.bilibili.com/video/BV1nkmRYSErk/?vd_source=14d27ec13a4737c281b7c79463687112<!-- springcloudalibaba,openfeign,nacos,gateway,sso视频:-->
https://www.bilibili.com/video/BV1cFDEYWEkY/?vd_source=14d27ec13a4737c281b7c79463687112<!-- vue+springboot前后端分离视频:-->
https://www.bilibili.com/video/BV1JLSEYJETc/?vd_source=14d27ec13a4737c281b7c79463687112<!-- shiro视频:-->
https://www.bilibili.com/video/BV1YVUmYJEPi/?vd_source=14d27ec13a4737c281b7c79463687112

自定义 Spring Boot Starter 流程

创建一个自定义的 Spring Boot Starter 通常包括以下步骤:

  1. 创建 Maven 项目:为 Starter 创建一个新的 Maven 模块。
  2. 定义依赖:在 pom.xml 中定义 Starter 需要的依赖。
  3. 创建配置属性类:定义一个配置属性类,使用 @ConfigurationProperties 注解来绑定配置文件中的属性。
  4. 创建自动配置类:创建一个配置类,使用 @Configuration 注解,并使用 @EnableConfigurationProperties 来启用配置属性类。
  5. 定义 Bean:在自动配置类中定义所需的 Bean,并使用条件注解(如 @ConditionalOnMissingBean)来控制 Bean 的创建。
  6. 创建 spring.factories 文件:在 META-INF 目录下创建 spring.factories 文件,声明自动配置类。
  7. 打包和安装:将 Starter 打包并安装到本地 Maven 仓库或发布到远程仓库。
  8. 在主项目中使用:在主项目的 pom.xmlbuild.gradle 中添加自定义 Starter 的依赖。
  9. 配置属性:在主项目的配置文件中设置 Starter 所需的属性。

自定义 Spring Boot Starter 案例

假设我们要创建一个名为 my-spring-boot-starter-greeter 的 Starter,用于添加一个简单的问候功能。

  1. 创建 Maven 项目

首先,创建一个新的 Maven 模块,比如叫 greeter-spring-boot-starter

  1. 定义依赖

greeter-spring-boot-starterpom.xml 文件中添加以下内容:

<groupId>com.example</groupId>
<artifactId>greeter-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version><dependencies><!-- Spring Boot Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
</dependencies>
  1. 创建配置属性类

创建一个名为 GreeterProperties 的类,用于绑定配置文件中的属性:

package com.example.greeter.properties;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Component
@ConfigurationProperties(prefix = "greeter")
public class GreeterProperties {private String message = "Hello";public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}
}
  1. 创建自动配置类

创建一个自动配置类 GreeterAutoConfiguration

package com.example.greeter.autoconfigure;import com.example.greeter.properties.GreeterProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
@ConditionalOnProperty(name = "greeter.enabled", havingValue = "true")
public class GreeterAutoConfiguration {@Bean@ConditionalOnMissingBeanpublic Greeter greeter(GreeterProperties properties) {return new Greeter(properties.getMessage());}
}
  1. 定义 Greeter Bean

创建 Greeter 类,它将使用配置的问候语:

package com.example.greeter;public class Greeter {private String message;public Greeter(String message) {this.message = message;}public void greet() {System.out.println(message + ", World!");}
}
  1. 创建 META-INF/spring.factories 文件

src/main/resources/META-INF 目录下创建 spring.factories 文件,并添加自动配置类的全限定名:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.greeter.autoconfigure.GreeterAutoConfiguration
  1. 打包和安装

使用 Maven 命令 mvn install 将 Starter 安装到本地仓库。

  1. 在主项目中使用

在主项目的 pom.xml 中添加 Starter 的依赖:

<dependency><groupId>com.example</groupId><artifactId>greeter-spring-boot-starter</artifactId><version>0.0.1-SNAPSHOT</version>
</dependency>
  1. 配置属性

在主项目的 application.propertiesapplication.yml 文件中设置问候语:

greeter.message=Good Morning
greeter.enabled=true

现在,当你的主项目启动时,如果 greeter.enabled 设置为 trueGreeter Bean 将被创建,并使用配置的问候语。你可以通过注入 Greeter 并调用 greet() 方法来使用这个功能。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com