中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

一般可以在哪些網(wǎng)站做推廣b站推廣2023

一般可以在哪些網(wǎng)站做推廣,b站推廣2023,做私服發(fā)布網(wǎng)站犯法嗎,下載官方正版appSpring Boot如何實現(xiàn)自定義Spring Boot啟動器 在Spring Boot中,啟動器(Starter)是一組依賴項的集合,它們一起提供了某個特定的功能。使用Spring Boot啟動器可以讓我們更加方便地集成第三方庫和框架,并且可以避免版本沖…

Spring Boot如何實現(xiàn)自定義Spring Boot啟動器

在Spring Boot中,啟動器(Starter)是一組依賴項的集合,它們一起提供了某個特定的功能。使用Spring Boot啟動器可以讓我們更加方便地集成第三方庫和框架,并且可以避免版本沖突等問題。在本文中,我們將介紹如何實現(xiàn)自定義Spring Boot啟動器,并提供一個示例代碼。

在這里插入圖片描述

什么是Spring Boot啟動器

Spring Boot啟動器是一組依賴項的集合,它們一起提供了某個特定的功能。啟動器通常包括一組依賴項和一些默認(rèn)的配置信息,它們可以幫助我們更加方便地集成第三方庫和框架,并且可以避免版本沖突等問題。

Spring Boot提供了很多內(nèi)置的啟動器,例如spring-boot-starter-web、spring-boot-starter-data-jpa等。這些啟動器可以幫助我們快速地搭建一個Web應(yīng)用程序或者一個數(shù)據(jù)訪問層,而無需手動配置依賴項和默認(rèn)配置信息。

自定義Spring Boot啟動器

除了可以使用Spring Boot內(nèi)置的啟動器外,我們還可以自己定義一個Spring Boot啟動器。自定義Spring Boot啟動器可以幫助我們更加方便地集成第三方庫和框架,并且可以提高應(yīng)用程序的可維護性和可擴展性。下面,我們將介紹如何實現(xiàn)自定義Spring Boot啟動器,并提供一個示例代碼。

創(chuàng)建Maven項目

首先,我們需要創(chuàng)建一個Maven項目,并添加必要的依賴項和插件。在pom.xml文件中,我們需要添加spring-boot-starter-parent、spring-boot-starter-test等Spring Boot相關(guān)的依賴項,以及maven-assembly-plugin插件和spring-boot-maven-plugin插件。具體的pom.xml文件內(nèi)容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-starter</artifactId><version>1.0.0-SNAPSHOT</version><name>My Starter</name><description>My custom Spring Boot starter</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.0</version><relativePath/></parent><dependencies><!-- Add your dependencies here --></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.2.0</version><configuration><archive><manifest><mainClass>com.example.MyStarterApplication</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></executions></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

創(chuàng)建自定義配置類

接下來,我們需要創(chuàng)建一個自定義的配置類,用于定義一些默認(rèn)的配置信息。在該配置類中,我們可以使用@Configuration注解和@Bean注解來定義一些Bean,以及使用@ConfigurationProperties注解來綁定配置文件中的屬性值。具體的代碼如下:

@Configuration
@ConfigurationProperties(prefix = "my.starter")
public class MyStarterAutoConfiguration {private String message = "Hello, World!";public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}@Beanpublic MyStarterService myStarterService() {return new MyStarterService(message);}
}

在上述代碼中,我們創(chuàng)建了一個名為MyStarterAutoConfiguration的配置類,并使用@ConfigurationProperties注解綁定了配置文件中的my.starter前綴的屬性值。我們還定義了一個名為myStarterService的Bean,并使用@Bean注解將該Bean注冊到Spring容器中。

創(chuàng)建自定義啟動器在自定義配置類之后,我們需要創(chuàng)建自定義的啟動器。在Spring Boot中,啟動器通常以spring-boot-starter-*的命名格式命名。因此,在本文中,我們將創(chuàng)建一個名為my-starter-spring-boot-starter的自定義啟動器。

創(chuàng)建啟動器項目

我們首先需要在Maven項目中創(chuàng)建一個新的模塊,用于存放自定義啟動器的代碼。在該模塊中,我們需要創(chuàng)建一個名為my-starter-spring-boot-starter的Maven項目,并添加必要的依賴項和插件。具體的pom.xml文件內(nèi)容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.example</groupId><artifactId>my-starter</artifactId><version>1.0.0-SNAPSHOT</version></parent><artifactId>my-starter-spring-boot-starter</artifactId><version>1.0.0-SNAPSHOT</version><name>My Starter Spring Boot Starter</name><description>My custom Spring Boot starter</description><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>2.6.0</version></dependency><dependency><groupId>com.example</groupId><artifactId>my-starter</artifactId><version>1.0.0-SNAPSHOT</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.2.0</version><configuration><archive><manifest><mainClass>com.example.MyStarterApplication</mainClass></manifest></archive></configuration></plugin></plugins></build>
</project>

在上述代碼中,我們創(chuàng)建了一個名為my-starter-spring-boot-starter的Maven項目,并添加了spring-boot-autoconfigure和my-starter的依賴項。這些依賴項將幫助我們自定義啟動器和自動配置類。

創(chuàng)建自動配置類

接下來,我們需要在自定義啟動器模塊中創(chuàng)建一個自動配置類,用于定義自定義啟動器提供的功能。在該自動配置類中,我們可以使用@Configuration注解和@ConditionalOnClass注解來定義一些Bean,并使用@Bean注解將這些Bean注冊到Spring容器中。具體的代碼如下:

@Configuration
@ConditionalOnClass(MyStarterService.class)
@EnableConfigurationProperties(MyStarterProperties.class)
public class MyStarterAutoConfiguration {private final MyStarterProperties properties;public MyStarterAutoConfiguration(MyStarterProperties properties) {this.properties = properties;}@Bean@ConditionalOnMissingBeanpublic MyStarterService myStarterService() {return new MyStarterService(properties.getMessage());}
}

在上述代碼中,我們創(chuàng)建了一個名為MyStarterAutoConfiguration的自動配置類,并使用@ConditionalOnClass注解來判斷當(dāng)前應(yīng)用程序是否存在MyStarterService類。如果存在該類,則該自動配置類才會生效。

另外,我們還使用@EnableConfigurationProperties注解來啟用配置屬性類MyStarterProperties,并在構(gòu)造函數(shù)中注入該類。我們還定義了一個名為myStarterService的Bean,并使用@Bean注解將該Bean注冊到Spring容器中。在這里,我們使用@ConditionalOnMissingBean注解來判斷是否已經(jīng)存在名為myStarterService的Bean。如果不存在,則創(chuàng)建一個新的Bean。

創(chuàng)建配置屬性類

除了自動配置類外,我們還需要創(chuàng)建一個配置屬性類,用于定義自定義啟動器的屬性值。在該類中,我們可以使用@ConfigurationProperties注解來綁定屬性值。具體的代碼如下:

@ConfigurationProperties(prefix = "my.starter")
public class MyStarterProperties {private String message = "Hello, World!";public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}
}

在上述代碼中,我們創(chuàng)建了一個名為MyStarterProperties的配置屬性類,并使用@ConfigurationProperties注解綁定了配置文件中的my.starter前綴的屬性值。其中,message屬性的默認(rèn)值為"Hello,World!"。

創(chuàng)建自定義啟動器類

最后,我們需要創(chuàng)建一個自定義啟動器類,用于將自定義啟動器的自動配置類和配置屬性類注冊到Spring容器中。在該類中,我們可以使用@EnableAutoConfiguration注解和@Import注解來注冊自動配置類和配置屬性類。具體的代碼如下:

@Configuration
@EnableAutoConfiguration
@Import({MyStarterAutoConfiguration.class, MyStarterProperties.class})
public class MyStarterAutoConfigurationImportSelector implements ImportSelector {@Overridepublic String[] selectImports(AnnotationMetadata importingClassMetadata) {return new String[]{MyStarterAutoConfiguration.class.getName(),MyStarterProperties.class.getName()};}
}

在上述代碼中,我們創(chuàng)建了一個名為MyStarterAutoConfigurationImportSelector的自定義啟動器類,并使用@EnableAutoConfiguration注解和@Import注解將自動配置類和配置屬性類注冊到Spring容器中。另外,我們還實現(xiàn)了ImportSelector接口,并重寫了selectImports方法,用于返回需要導(dǎo)入的類的全限定名數(shù)組。

創(chuàng)建示例應(yīng)用程序

最后,我們需要創(chuàng)建一個示例應(yīng)用程序,用于演示如何使用自定義啟動器。在該應(yīng)用程序中,我們可以直接引入自定義啟動器的依賴項,然后使用自定義的配置屬性和Bean。具體的代碼如下:

@SpringBootApplication
public class MyApp {public static void main(String[] args) {SpringApplication.run(MyApp.class, args);}@Autowiredprivate MyStarterService myStarterService;@GetMapping("/hello")public String sayHello() {return myStarterService.sayHello();}
}

在上述代碼中,我們創(chuàng)建了一個名為MyApp的Spring Boot應(yīng)用程序,并在其中注入了自定義啟動器提供的Bean myStarterService。在sayHello方法中,我們調(diào)用myStarterService的sayHello方法,返回一個字符串。

測試自定義啟動器

現(xiàn)在,我們可以使用mvn clean install命令將自定義啟動器打包成一個可執(zhí)行的jar包,并將其安裝到本地Maven倉庫中。然后,我們可以創(chuàng)建一個新的Spring Boot應(yīng)用程序,并在其中引入自定義啟動器的依賴項。具體的步驟如下:

  1. 在Maven項目的根目錄下運行mvn clean install命令,將自定義啟動器打包成一個可執(zhí)行的jar包,并安裝到本地Maven倉庫中。

  2. 創(chuàng)建一個新的Spring Boot應(yīng)用程序,并在pom.xml文件中添加自定義啟動器的依賴項,具體如下:

<dependency><groupId>com.example</groupId><artifactId>my-starter-spring-boot-starter</artifactId><version>1.0.0-SNAPSHOT</version>
</dependency>
  1. 在應(yīng)用程序的配置文件(例如application.yml)中,可以使用my.starter前綴來配置自定義啟動器的屬性值,具體如下:
my:starter:message: "Hello, Spring Boot!"
  1. 在應(yīng)用程序中,可以通過@Autowired注解注入自定義啟動器提供的Bean,并調(diào)用其中的方法,具體如下:
@Autowired
private MyStarterService myStarterService;@GetMapping("/hello")
public String sayHello() {return myStarterService.sayHello();
}
  1. 啟動應(yīng)用程序,并訪問http://localhost:8080/hello,可以看到瀏覽器中顯示的字符串為"Hello, Spring Boot!"。

總結(jié)

在本文中,我們介紹了如何實現(xiàn)自定義Spring Boot啟動器,包括創(chuàng)建自動配置類、配置屬性類和自定義啟動器類,并演示了如何在示例應(yīng)用程序中使用自定義啟動器。自定義啟動器可以幫助我們封裝常用的配置和Bean,并提供給其他應(yīng)用程序使用,從而提高開發(fā)效率和代碼復(fù)用性。

http://www.risenshineclean.com/news/12150.html

相關(guān)文章:

  • 網(wǎng)絡(luò)規(guī)劃設(shè)計師專項提升seo網(wǎng)站優(yōu)化師
  • 沈陽網(wǎng)站制作定制策劃2024年2月疫情又開始了嗎
  • wordpress注冊的用戶不是vipseo怎么推廣
  • 中山建站服務(wù)seo關(guān)鍵詞找29火星軟件
  • 開源網(wǎng)站開發(fā)文檔下載象山seo外包服務(wù)優(yōu)化
  • 湖南省建設(shè)網(wǎng)站西安百度推廣代理商
  • 如何做網(wǎng)站 優(yōu)幫云班級優(yōu)化大師官網(wǎng)下載
  • 天元建設(shè)集團有限公司天元天筑網(wǎng)百度seo排名培訓(xùn)
  • 建設(shè)網(wǎng)站要做的工作總結(jié)網(wǎng)頁模板免費下載網(wǎng)站
  • 中企動力科技股份有限公司銷售seo網(wǎng)站診斷方案
  • 網(wǎng)站特效代碼html無錫百度推廣平臺
  • 網(wǎng)站空間域名購買電商平臺開發(fā)
  • 網(wǎng)站接任務(wù)來做收錄查詢api
  • 洋洋點建站鄭州網(wǎng)
  • 北京微信網(wǎng)站建設(shè)公司大連企業(yè)網(wǎng)站建站模板
  • 品牌查詢網(wǎng)站seo關(guān)鍵詞排名優(yōu)化報價
  • 做b網(wǎng)站怎么快速優(yōu)化網(wǎng)站
  • 軟件行業(yè) 網(wǎng)站建設(shè) 模塊搜索引擎快速優(yōu)化排名
  • 成品網(wǎng)站 修改首頁做網(wǎng)絡(luò)推廣可以通過哪些渠道推廣
  • 怎么看一個網(wǎng)站做沒做競價app推廣地推接單網(wǎng)
  • 網(wǎng)站優(yōu)化設(shè)計方案鄭州seo線上推廣技術(shù)
  • 石家莊做網(wǎng)站最好的公司百度小說風(fēng)云榜排名完結(jié)
  • 網(wǎng)站標(biāo)題權(quán)重個人網(wǎng)站網(wǎng)址
  • 河北石家莊網(wǎng)站免費推廣廣告鏈接
  • 做網(wǎng)站的風(fēng)險英文站友情鏈接去哪里查
  • 網(wǎng)站開發(fā)職業(yè)崗位站長工具官網(wǎng)
  • 辦個人網(wǎng)站租空間免費推廣平臺有哪些
  • 建設(shè)一下網(wǎng)站要求提供源碼百度查詢網(wǎng)
  • 網(wǎng)站建設(shè)談客戶說什么網(wǎng)絡(luò)營銷有哪些形式
  • 建站網(wǎng)站怎么上傳代碼奉節(jié)縣關(guān)鍵詞seo排名優(yōu)化