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

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

如何做網(wǎng)站滾動屏幕seo網(wǎng)絡(luò)優(yōu)化平臺

如何做網(wǎng)站滾動屏幕,seo網(wǎng)絡(luò)優(yōu)化平臺,wordpress物品展示,彩票網(wǎng)站建設(shè)服務(wù)老韓學(xué)生 LombokLombok介紹Lombok常用注解Lombok應(yīng)用實(shí)例代碼實(shí)現(xiàn)idea安裝lombok插件 Spring InitializrSpring Initializr介紹Spring Initializr使用演示需求說明方式1: IDEA創(chuàng)建方式2: start.spring.io創(chuàng)建 注意事項(xiàng)和說明 yaml語法yaml介紹使用文檔yaml基本語法數(shù)據(jù)類型字面…

老韓學(xué)生

  • Lombok
    • Lombok介紹
    • Lombok常用注解
    • Lombok應(yīng)用實(shí)例
      • 代碼實(shí)現(xiàn)
      • idea安裝lombok插件
  • Spring Initializr
    • Spring Initializr介紹
    • Spring Initializr使用演示
      • 需求說明
      • 方式1: IDEA創(chuàng)建
      • 方式2: start.spring.io創(chuàng)建
    • 注意事項(xiàng)和說明
  • yaml語法
    • yaml介紹
    • 使用文檔
    • yaml基本語法
    • 數(shù)據(jù)類型
      • 字面量
      • 對象
      • 數(shù)組
    • yaml應(yīng)用實(shí)例
      • 需求圖解
      • 代碼實(shí)現(xiàn)
      • 注意事項(xiàng)和使用細(xì)節(jié)

在這里插入圖片描述


?? 上一篇: springboot系列六: springboot底層機(jī)制實(shí)現(xiàn) 下


🎉 歡迎來到 springboot系列七: Lombok注解,Spring Initializr,yaml語法 🎉

在本篇文章中,我們將探索 Lombok 注解的使用,Spring Initializr 的功能以及 yaml 語法的基本用法。這些工具和技術(shù)將幫助您更高效地開發(fā) Spring Boot 應(yīng)用程序。


🔧 本篇需要用到的項(xiàng)目: quickstart項(xiàng)目


Lombok

Lombok介紹

●Lombok介紹
1.簡化JavaBean開發(fā), 可以使用Lombok的注解讓代碼更加簡潔. mybatis中學(xué)習(xí)過

2.Java項(xiàng)目中, 很多沒有技術(shù)含量又必須存在的代碼, POJO的getter/setter/toString;異常處理;I/O流的關(guān)閉操作等等,這些代碼既沒有技術(shù)含量,又影響著代碼的美觀,Lombok應(yīng)運(yùn)而生。

SpringBootIDEA官方支持
1.IDEA 2020已經(jīng)內(nèi)置了Lombok插件
2.SpringBoot 2.1.x之后的版本也在Starter中內(nèi)置了Lombok依賴

Lombok常用注解

在這里插入圖片描述

Lombok應(yīng)用實(shí)例

代碼實(shí)現(xiàn)

●需求說明
回到我們的 quickstart 項(xiàng)目, 使用Lombok簡化Furn.java代碼, 讓代碼簡潔高效

1.在pom.xml中引入lombok
引入lombok, 版本在spring-boot-dependencies-2.5.3.pom已經(jīng)指定了, 把光標(biāo)放在lombok, ctrl+b 可以看到. springboot依賴管理

在這里插入圖片描述

2.修改Furn.java, 使用Lombok注解簡化代碼. 提示: 可以通過idea自帶的反編譯功能, 看Furn.class的源代碼

@Component
@ToString //編譯時, 生成toString方法, 默認(rèn)情況下, 會生成一個無參構(gòu)造器
@ConfigurationProperties(prefix = "furn01")
public class Furn {private Integer id;private String name;private BigDecimal price;
}

在這里插入圖片描述

3.@Data注解

@Component
@ConfigurationProperties(prefix = "furn01")
/*** 說明:* 1. Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode}.* 2. @Data 注解等價使用了 如下注解* @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode* 3. @RequiredArgsConstructor, 單獨(dú)地說一下*/
@Data
public class Furn {private Integer id;private String name;private BigDecimal price;
}

編譯后

在這里插入圖片描述

4.@RequiredArgsConstructor詳解
在我們寫controller或者Service層的時候,需要注入很多的mapper接口或者另外的service接口,這時候就會寫很多的@Autowired注解,代碼看起來很亂
lombok提供了一個注解:

@RequiredArgsConstructor(onConstructor = @_(@Autowired))
寫在類上可以代替@Autowired注解,需要注意的是在注入時需要用final定義,或者使用@notnull注解

在這里插入圖片描述

5.@NoArgsConstructor詳解

/*** 說明: @NoArgsConstructor 在編譯時, 會生成無參構(gòu)造器, 前面我們說過, 默認(rèn)情況下, 會生成一個無參構(gòu)造器* 說明: 當(dāng)我們有其它構(gòu)造器生成時, 如果你希望仍然有無參構(gòu)造器, 就需要使用@NoArgsConstructor顯示聲明一下*      , 否則就會覆蓋無參構(gòu)造器, 從而造成代碼錯誤*/
//@NoArgsConstructor/*** @allArgsConstructor 在編譯時, 會生成全參構(gòu)造器, 造成覆蓋掉無參構(gòu)造器, 項(xiàng)目啟動, 報(bào)錯* 解決方案一: 取消Furn作為Bean注入, 那么在需要自動裝配Furn的位置, 通通注釋掉* 解決方案二: 顯式聲明一下無參構(gòu)造器, 可以手寫, 也可以用@NoArgsConstructor*/
@AllArgsConstructor
public class Furn {private Integer id;private String name;private BigDecimal price;
}

idea安裝lombok插件

1.不裝插件也可以使用基本的注解, 比如 @Data, @Getter 等.

2.但是不能使用其擴(kuò)展功能, 比如 日志輸出, 如意我們還是安裝一下, 也比較簡單.

在這里插入圖片描述

3.演示使用Lombok支持日志輸出(建議使用slf4j), 修改src/main/java/com/zzw/HiController.java

@RequestMapping("/furn")
@ResponseBody
public Furn furn() {//System.out.println("furn = " + furn);//使用slfj日志輸出//普通方式log.info("furn-" + furn);//占位符方式輸出log.info("furn={}, myfurn={}", furn, furn);return furn;
}

4.瀏覽器訪問 http://localhost:8088/furn

前端顯示

在這里插入圖片描述

后端顯示
2024-06-17 13:38:33.476 INFO 11584 — [nio-8088-exec-3] com.zzw.HiController : furn-Furn(id=100, name=家居, price=6000)
2024-06-17 13:38:33.476 INFO 11584 — [nio-8088-exec-3] com.zzw.HiController : furn=Furn(id=100, name=家居, price=6000), myfurn=Furn(id=100, name=家居, price=6000)

前提:
1.Furn實(shí)體類要有toString方法, 否則后端輸出對象地址.
2.Furn實(shí)體類要有setter方法, 因?yàn)閍pplication.properties中的屬性通過setter方法設(shè)置, 否則后端輸出null.
3.Furn實(shí)體類要有g(shù)etter方法, 因?yàn)閒urn.id furn.name是通過getId和getName方法獲取的, 否則前端不輸出JSON信息.

Spring Initializr

Spring Initializr介紹

●Spring Initializr作用
1.程序員通過Maven Archetype 來生成Maven項(xiàng)目, 項(xiàng)目原型相對簡陋, 需要手動配置, 但是比較靈活.

2.通過Spring官方提供的Spring Initializr來構(gòu)建Maven項(xiàng)目, 能完美支持IDEA和`Eclipse, 讓程序員來選擇需要的開發(fā)場景(starter), 還能自動生成啟動類和單元測試代碼.

3.Spring InitializrIdea 版本有要求, 同時還要走國外網(wǎng)絡(luò), 我們還是習(xí)慣使用Maven Archetype來生成Maven項(xiàng)目. 但是作為知識點(diǎn), 還是要介紹一下.

Spring Initializr使用演示

需求說明

使用Spring Initializr創(chuàng)建SpringBoot項(xiàng)目, 并支持web應(yīng)用場景, 支持MyBatis.

方式1: IDEA創(chuàng)建

1.創(chuàng)建項(xiàng)目
在這里插入圖片描述

2.選擇 Spring Initializr. 如果沒有看到這個選項(xiàng), 需要安裝Spring Initializr插件

在這里插入圖片描述

3.項(xiàng)目設(shè)置

在這里插入圖片描述

4.選擇需要的開發(fā)場景

在這里插入圖片描述

5.項(xiàng)目創(chuàng)建好后, 自動生成啟動類和單元測試代碼

在這里插入圖片描述

在這里插入圖片描述

方式2: start.spring.io創(chuàng)建

https://start.spring.io/

在這里插入圖片描述

注意事項(xiàng)和說明

1.如果通過Spring Initializr創(chuàng)建項(xiàng)目, pom.xml爆紅

在這里插入圖片描述

2.解決方案: 指定版本和當(dāng)前的springboot一致, 刷新maven即可解決

在這里插入圖片描述

yaml語法

yaml介紹

●基本說明
1.YAML是"YAML Ain’t Markup Language"(YAML不是一種標(biāo)記語言)的遞歸縮寫. 在開發(fā)這種語言時, YAML的意思其實(shí)是: “Yet Another Markup Language”(仍是一種標(biāo)記語言), 是為了強(qiáng)調(diào)這種語言以數(shù)據(jù)作為中心, 而不是以標(biāo)記語言為重點(diǎn), 而用反向縮略語重命名. 百度百科

●解讀
1.YAML 以數(shù)據(jù)作為中心, 而不是以標(biāo)記語言為重點(diǎn).
2.YAML 仍然是一種標(biāo)記語言, 但是和傳統(tǒng)的標(biāo)記語言不一樣, 是以數(shù)據(jù)為中心的標(biāo)記語言.
3.YAML 非常適合用來做以數(shù)據(jù)為中心的配置文件 [springboot: application.yml]

使用文檔

官方文檔: https://yaml.org/

yaml for java: https://www.cnblogs.com/strongmore/p/14219180.html

yaml基本語法

1.形式為 key: value, 注意: 后面有空格

2.區(qū)分大小寫:

3.使用縮進(jìn)表示層級關(guān)系

4.縮進(jìn)不允許使用tab, 只允許空格 [有些地方也是別tab, 推薦使用空格]

5.縮進(jìn)的空格數(shù)不重要, 只要相同層級的元素左對齊即可

6.字符串無需加引號

7.yaml中, 注釋使用 #

數(shù)據(jù)類型

字面量

1.字面量: 單個的, 不可再分的值. date, boolean, string, number, null

2.number可以表示整數(shù), 浮點(diǎn)數(shù).

3.保存形式為key: value

對象

1.對象: 鍵值對的集合, 比如map, hash, object

行內(nèi)寫法: k: {k1: v1, k2: v2, k3: v3}
monster: {id: 100, name: 牛魔王}

換行形式:
k:
??k1: v1
??k2: v2
??k3: v3

monster:
??id: 100
??name: 牛魔王
??skill: 芭蕉扇


2.舉例說明
在這里插入圖片描述

數(shù)組

1.數(shù)組: 一組按次序排列的值, 比如 array, list, set, queue

行內(nèi)寫法: k: [v1, v2, v3]
hobby: [打籃球, 踢足球, 打羽毛球]

換行形式:
k:
??- v1
??- v2
??- v3

hobby:
??- 打籃球
??- 踢足球
??- 打羽毛球


2.舉例說明

在這里插入圖片描述

yaml應(yīng)用實(shí)例

需求圖解

需求: 使用yaml配置文件 和 JavaBean 進(jìn)行數(shù)據(jù)綁定, 體會 yaml 使用方式

1.創(chuàng)建項(xiàng)目 configuration, 完成yaml的使用

在這里插入圖片描述
2.運(yùn)行效果

在這里插入圖片描述

代碼實(shí)現(xiàn)

1.創(chuàng)建一個新的 SpringBoot 項(xiàng)目 configuration, 我們這里用靈活配置的方式創(chuàng)建.

在這里插入圖片描述

2.在pom.xml引入lombok, 并切換一下springboot版本

<!--導(dǎo)入springboot父工程-規(guī)定寫法-->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.3</version>
</parent><dependencies><!--導(dǎo)入web項(xiàng)目場景啟動器, 會自動地導(dǎo)入和web開發(fā)相關(guān)的所有依賴[庫/jar]--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--引入lombok, 使用版本仲裁--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
</dependencies>

3.創(chuàng)建src/main/java/com/zzw/springboot/bean/Car.java.
小細(xì)節(jié): 創(chuàng)建的bean需要在SpringBootApplication包或者其子包, 否則默認(rèn)不會被掃描, 同時也不能完全使用lombok的相關(guān)簡化注解.

@Data
public class Car {private String name;private double price;
}

4.創(chuàng)建src/main/java/com/zzw/springboot/bean/Monster.java

@Component
@Data
public class Monster {private Integer id;private String name;private Integer age;private Boolean isMarried;private Date birth;private Car car;private String[] skill;private List<String> hobby;private Map<String, Object> wife;private Set<Double> salaries;private Map<String, List<Car>> cars;
}

5.創(chuàng)建src/main/java/com/zzw/springboot/controller/HiController.java

@RestController
public class HiController {@Autowiredprivate Monster monster;@RequestMapping("/monster")public Monster monster() {return monster;}
}

6.創(chuàng)建src/main/java/com/zzw/springboot/Application.java

@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

7.啟動項(xiàng)目, 進(jìn)行測試. 為空, 說明還沒有對數(shù)據(jù)進(jìn)行配置綁定.

在這里插入圖片描述

8.創(chuàng)建src/main/resources/application.yml, 演示各種寫法. 提示: 編寫application.yml 時, 這些Bean的字段是可以通過安裝插件或jar自動提示的, 后面會學(xué)到, 現(xiàn)在先苦后甜.

monster:id: 100name: 牛魔王age: 200isMarried: truebirth: 2000/10/15

9.配置Furn. 參考properties的配置綁定

@ConfigurationProperties(prefix = "monster")
public class Monster {}

10.重啟,測試

在這里插入圖片描述

11.完成后面數(shù)據(jù)的綁定

monster:id: 100name: 牛魔王age: 200isMarried: truebirth: 2000/10/15#對象
#  car: {name: 奔馳, price: 120000} #行內(nèi)風(fēng)格car:name: 奔馳price: 160000 #換行風(fēng)格#數(shù)組
#  skill: [芭蕉扇, 七十二變, 刀槍不入] #行內(nèi)風(fēng)格skill:- 芭蕉扇~- 七十二變~- 刀槍不入~ #換行風(fēng)格hobby:- 喝酒- 吃肉- 陪老婆 #換行風(fēng)格#map-屬于對象
#  wife: {no1: 鐵扇公主, no2: 狐貍精} #行內(nèi)風(fēng)格wife:no1: 鐵扇公主no2: 狐貍精 #換行風(fēng)格#set-屬于對象
#  salaries: [10000, 20000, 30000] #行內(nèi)風(fēng)格salaries:- 10000- 20000- 30000 #換行風(fēng)格cars: # 因?yàn)閏ars k-v v是List<Car> 所以我們使用換行風(fēng)格group1:- {name: 奔馳, price: 120000}-  name: 奧迪price: 130000group2:- {name: 寶馬, price: 110000}-  name: 蘭博基尼price: 300000

注意事項(xiàng)和使用細(xì)節(jié)

1.如果application.propertiesapplication.yml 有相同的前綴值綁定, 則application.properties優(yōu)先級高, 開發(fā)時, 應(yīng)當(dāng)避免.

在這里插入圖片描述

2.字符串無需加引號, 如果你用" " 或者 ’ ’ 包起來, 也可以.

在這里插入圖片描述

3.解決yamlproperties配置文件, 不提示字段信息問題

1)如圖, 我們可以知道, 在編寫application.yaml文件時, 不提示Monster的字段信息, 非常不方便

2)在pom.xml加入spring-boot-configuration-processor依賴, 可以從quickstart項(xiàng)目拷貝.

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><!--這里我們配置optional為true說明: 表示防止將此依賴傳遞到其它模塊--><optional>true</optional>
</dependency>

3)對application.yml文件編輯, 就會提示字段. 提示: 輸入你在Bean中配置的prefix, 就會提示

在這里插入圖片描述
在這里插入圖片描述

4)提示: 如果還沒有提示, 可以安裝一個yaml插件來搞定.

在這里插入圖片描述


🔜 下一篇預(yù)告: [即將更新,敬請期待]


📚 目錄導(dǎo)航 📚

  1. springboot系列一: springboot初步入門
  2. springboot系列二: sprintboot依賴管理
  3. springboot系列三: sprintboot自動配置
  4. springboot系列四: sprintboot容器功能
  5. springboot系列五: springboot底層機(jī)制實(shí)現(xiàn) 上
  6. springboot系列六: springboot底層機(jī)制實(shí)現(xiàn) 下
  7. springboot系列七: Lombok注解,Spring Initializr,yaml語法

💬 讀者互動 💬
在使用 Lombok 注解,Spring Initializr 和 yaml 語法的過程中,您有哪些體會或問題?歡迎在評論區(qū)留言,讓我們一起討論吧!😊


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

相關(guān)文章:

  • 深圳專業(yè)做網(wǎng)站建網(wǎng)站價格圖片優(yōu)化軟件
  • 北京裝飾公司一覽表網(wǎng)站搜索排名優(yōu)化軟件
  • 公司網(wǎng)頁制作h5seo公司怎么樣
  • 汕頭seo公司免費(fèi)的seo優(yōu)化
  • 專業(yè)電容層析成像代做網(wǎng)站北京營銷推廣公司
  • 電話外包接單平臺seo網(wǎng)站優(yōu)化網(wǎng)站編輯招聘
  • 鄭州企業(yè)自助建站系統(tǒng)搜索引擎登錄入口
  • 深圳最新疫情風(fēng)險(xiǎn)等級地區(qū)名單刷seo排名
  • 河北省做網(wǎng)站哪家公司好國際新聞界期刊
  • 網(wǎng)站流量站怎么做百度下載官網(wǎng)
  • 重慶網(wǎng)站建設(shè)推廣seo網(wǎng)站排名助手
  • 做JAVA基礎(chǔ)編程題什么網(wǎng)站好汕頭seo排名
  • 網(wǎng)站項(xiàng)目案例自動搜索關(guān)鍵詞軟件
  • 杭州電子商務(wù)網(wǎng)站建設(shè)百度指數(shù)分析案例
  • 新農(nóng)村建設(shè) 網(wǎng)站google 網(wǎng)站推廣
  • 有哪些網(wǎng)站建設(shè)工作本周新聞熱點(diǎn)
  • 做彩票生意要登陸哪個網(wǎng)站百度怎么做推廣和宣傳
  • icp備案網(wǎng)站建設(shè)方案書網(wǎng)站收錄一般多久
  • 阿克蘇建設(shè)租房信息阿克蘇租房網(wǎng)站磁力搜索器
  • 破解php網(wǎng)站后臺賬號密碼朋友圈廣告推廣文字
  • 寧波商城網(wǎng)站建設(shè)淘寶指數(shù)查詢官網(wǎng)
  • 網(wǎng)站訪問量大 處理小程序如何推廣運(yùn)營
  • 免費(fèi)開店鋪網(wǎng)站關(guān)鍵字優(yōu)化價格
  • 織夢后臺做的網(wǎng)站怎么綁定域名湖南網(wǎng)站建設(shè)營銷推廣
  • 做網(wǎng)站字體格式用銳利嗎即刻搜索引擎入口
  • 成都游戲網(wǎng)站開發(fā)代發(fā)關(guān)鍵詞排名包收錄
  • 做網(wǎng)站 流量怎么抓錢網(wǎng)推廣公司
  • 無錫建設(shè)網(wǎng)站的公司湖南百度seo
  • 無錫兼職做網(wǎng)站電商培訓(xùn)內(nèi)容
  • 徐州提供網(wǎng)站建設(shè)報(bào)價表寧波seo網(wǎng)絡(luò)推廣優(yōu)化價格