SpringBoot自己開發一個starter

提示:本文主要講述如何自行開發一個SpringBoot的starter

文章目錄

目錄

文章目錄

前言

一、Starter是什么

二、創建一個SpringBoot項目

1.創建一個基本的SpringBoot項目

2.選擇要下載的庫

三、設置項目

1.提示

2.配置pom.xml

3.重點代碼

1.創建一個User類

?2.創建一個modelConfig類

3.創建一個DemoClient類

?4.目錄結構

5.創建一個resources目錄

?6.生成Starter

?四、使用

?1.配置文件

application.yml

?獲取配置文件中的值

?獲取傳遞過去的值

?五.結果

前言

開發這個主要是為了以后的工作可以更加輕松一點,能夠快速的實現一些業務代碼


一、Starter是什么

相信大家在學習的時候都有使用過Starter,但是應該還沒有人自己動手制作過一個Starter吧,希望這期搭建一個簡單的博客,可以幫助到大家

二、創建一個SpringBoot項目

1.創建一個基本的SpringBoot項目

2.選擇要下載的庫

?上面的這個庫是必須下載的,是為了你將來給配置文件的寫入的時候有代碼提示的

?這個包我就不多介紹了,應該學習SpringBoot的都知道這個包

三、設置項目

1.提示

設置項目的maven的路徑提示啊,JDK什么的我就這里不做了

2.配置pom.xml

    <groupId>com.xinggui</groupId><artifactId>starter-demo</artifactId><version>0.0.1</version>    <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

?

3.重點代碼

1.創建一個User類

@Data
public class User {private String name;private Integer age;public User(String name, Integer age) {this.name = name;this.age = age;}}

?2.創建一個modelConfig類

/*** 配置類,用于管理模型相關的配置屬性。* 通過@ConfigurationProperties注解,指定了配置屬性的前綴為"xinggui.demo"。* 使用@ComponentScan注解,指示Spring掃描指定包下的組件。*/
@Configuration
@ConfigurationProperties(prefix = "xinggui.demo")
@Data
@ComponentScan
public class modelConfig {/*** 用戶名稱屬性。*/private String name;/*** 用戶年齡屬性。*/private Integer age;/*** 定義一個Bean方法,返回一個User對象的字符串表示。* 此方法通過注入name和age屬性創建一個新的User對象,并將其轉換為字符串形式返回。* @return 返回一個包含用戶姓名和年齡信息的字符串。*/@Beanpublic String user(){return new User(name,age).toString();}
}

3.創建一個DemoClient類

public class DemoClient {private String name;private Integer age;public DemoClient(String name, Integer age) {this.name = name;this.age = age;}public String setUser(String userName, Integer passWord){return new User(name,age).toString();}}

?4.目錄結構

5.創建一個resources目錄

?

# spring boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.xinggui.starterdemo.modelConfig
# com.xinggui.starterdemo.modelConfig位置寫你自己的配置路徑配置類

?6.生成Starter

?四、使用

打開另一個項目引入這個依賴

引入的依賴內容應該是

?1.配置文件

application.yml

xinggui:demo:name: xingguiage: 18

?獲取配置文件中的值

?測試方式寫法

?獲取傳遞過去的值

?五.結果


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/45018.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45018.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45018.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

16.x86游戲實戰-匯編指令push pop pushad popad

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 本次游戲沒法給 內容參考于&#xff1a;微塵網絡安全 工具下載&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

【第29章】MyBatis-Plus之分頁插件

文章目錄 前言一、支持的數據庫二、配置方法三、屬性介紹四、自定義 Mapper 方法中使用分頁五、其他注意事項六、Page 類七、實戰1. 配置類2. 分頁類3. 測試 總結 前言 MyBatis-Plus 的分頁插件 PaginationInnerInterceptor 提供了強大的分頁功能&#xff0c;支持多種數據庫&a…

Windows電腦安裝Python結合內網穿透輕松搭建可公網訪問私有網盤

文章目錄 前言1.本地文件服務器搭建1.1.Python的安裝和設置1.2.cpolar的安裝和注冊 2.本地文件服務器的發布2.1.Cpolar云端設置2.2.Cpolar本地設置 3.公網訪問測試4.結語 前言 本文主要介紹如何在Windows系統電腦上使用python這樣的簡單程序語言&#xff0c;在自己的電腦上搭建…

kubernetes授予用戶指定命名空間的使用權限

kubernetes授予用戶指定命名空間的使用權限 問題描述具體實現簽發客戶端證書創建RBAC策略生成kubeconfig文件 問題描述 假如我們部門來了個新同事&#xff0c;他需要使用kubernetes集群&#xff0c;但是因為他剛來&#xff0c;還不熟悉&#xff0c;所以不能直接將kubernetes集…

Spring如何控制Bean加載+執行順序

1. Order 注解和 Ordered 接口 用途&#xff1a;控制組件執行順序或排序&#xff0c;但不控制Bean初始化順序。定義執行順序&#xff1a;通過整數值指定組件優先級&#xff0c;數值越小優先級越高。集合排序&#xff1a;影響自動裝配到集合中的組件排列順序。使用場景&#xf…

77.MySQL的分頁查詢

一、LIMIT關鍵字 LIMIT關鍵字用于限制返回結果集中的行數。其基本語法如下&#xff1a; SELECT * FROM 表名 LIMIT 行數; 例如&#xff0c;要從名為mark_info的表中選擇最新創建的10個工單的信息&#xff0c;可以執行以下查詢&#xff1a; SELECT * FROM mark_info ORDER B…

電力需求預測挑戰賽筆記 Taks1 跑通baseline

#AI夏令營 #Datawhale #夏令營 賽題 一句話介紹賽題任務可以這樣理解賽題&#xff1a; 【訓練時序預測模型助力電力需求預測】 電力需求的準確預測對于電網的穩定運行、能源的有效管理以及可再生能源的整合至關重要。 賽題任務 給定多個房屋對應電力消耗歷史 N 天的相關序列數…

拓撲排序(算法篇)

算法之拓撲排序 拓撲排序 概念&#xff1a; 拓撲排序是對有向無圈圖的頂點的一種排序。排序不必是唯一的&#xff0c;任何合理的排序都是可以的。具體做法是&#xff1a;先找出任意一個沒有入邊的頂點v(就是沒有其他頂點指向的頂點)&#xff0c;將頂點v放入隊列&#xff0c;…

element-plus el-table點擊當前行和劃過展示鼠標

在 Element Plus 的 el-table 組件中&#xff0c;設置滑過行時鼠標的樣式可以通過 CSS 來實現。你可以使用 CSS 的 cursor 屬性來定義鼠標懸停時的樣式。以下是一個簡單的例子&#xff1a; 首先&#xff0c;在你的 Vue 組件的 .el-table .el-table__row:hover {cursor: poin…

09.AOP-尚硅谷Spring零基礎入門到進階,一套搞定spring6全套視頻教程(源碼級講解)

現有代碼缺陷 針對帶日志功能的實現類&#xff0c;我們發現有如下缺陷&#xff1a; 對核心業務功能有干擾&#xff0c;導致程序員在開發核心業務功能時分散了精力附加功能分散在各個業務功能方法中&#xff0c;不利于統一維護 解決思路 解決核心&#xff1a;解耦。把附加功能從…

glm-4 聯網搜索 api 測試

今天測試了一下 glm-4 的聯網搜索 web_search tool 調用&#xff0c;發現了 web_search 的網頁檢索返回結果中幾個比較詭異的事情&#xff0c;特此記錄&#xff1a; 有些檢索結果沒有 icon、link、media 字段&#xff0c;但從內容上看確實是聯網搜索出來的結果&#xff0c;不知…

從零開始讀RocketMq源碼(三)Broker存儲Message流程解析

目錄 前言 準備 消息載體CommitLog 文件持久化位置 源碼解析 broker消息對象MessageExtBrokerInner 異步存儲message CommitLog的真相 創建MappedFile文件 加入異步刷盤隊列 Message異步存儲MappedByteBuffer 總結 前言 在面試中我們經常會聽到這樣的回答&#x…

國產化趨勢下源代碼數據防泄密的信創沙盒的方案分享

隨著國產化的大力推進&#xff0c;越來越多的企事業單位在逐步替換Windows、Linux等操作系統的使用。那么什是國產化了&#xff1f;國產化是指在產品或服務中采用國內自主研發的技術和標注&#xff0c;替代過去依賴的他國的產品和服務&#xff0c;國產化又被稱之為“信創”&…

GitLab CI/CD實現項目自動化部署

1 GitLab CI/CD介紹 GitLab CI/CD 是 GitLab 中集成的一套用于軟件開發的持續集成&#xff08;Continuous Integration&#xff09;、持續交付&#xff08;Continuous Delivery&#xff09;和持續部署&#xff08;Continuous Deployment&#xff09;工具。這套系統允許開發團隊…

vue里實現點擊按鈕回到頁面頂部功能,博客必備!

效果 步驟 1-標簽結構 動態綁定樣式style&#xff0c;監聽點擊事件&#xff0c;后續控制opacity透明度。和滾動距離 <div class"toTop" :style"dynamicStyles" click"toTop"><!--<i class"fa fa-arrow-up"></i>…

Django ORM中的F 對象

F 對象非常強大&#xff0c;可以在查詢和更新操作中進行復雜的字段間運算。 假設我們有一個包含商品信息的模型 Product&#xff1a; from django.db import modelsclass Product(models.Model):name models.CharField(max_length100)price models.DecimalField(max_digits…

MySQL向自增列插入0失敗問題

問題 在一次上線時&#xff0c;發現通過腳本添加的狀態表中&#xff0c;待提交的狀態不正確&#xff0c;本來應該是0&#xff0c;線上是101。 原因 默認情況下&#xff0c;MySQL對應自增列&#xff0c;認為0和null等價&#xff08;因為mysql認為0不是最佳實踐不推薦使用&…

超簡單的通配證書簽發工具,免費,無需安裝任何插件到本地

常見的acme.sh 或者 lego等工具需要配置&#xff0c;安裝不靈活&#xff0c;續簽需要配置計劃任務&#xff0c;簽發單域名證書或者通配證書需要不同的指令和配置&#xff0c;繁瑣&#xff0c;如果自己程序想要對接簽發證書的api有的不支持&#xff0c;有的用起來繁瑣。 最近發…

[手機Linux PostmarketOS]三, Alpine Linux命令使用

Alpine Linux 一些常用的指令&#xff1a; 添加國內源下載鏈接&#xff1a; 編譯以下文件&#xff0c;添加鏈接進去&#xff1a; sudo vi /etc/apk/repositories##清華源&#xff1a; https://mirror.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirror.tuna.tsi…

【VIVADO SDK調試遇到DataAbortHandler】

問題 SDK調試遇到DataAbortHandler問題。 運行后不顯示結果&#xff0c;debug模式下發現進入DataAbortHandler異常函數。程序中存在大數組。 原因:SDK默認的堆棧為1024bytes,需要將堆棧調大。 修改方法&#xff1a; 解決:對application中src下的lscript.ld雙擊&#xff0c;…