日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Boot兩種全局配置和兩種注解的操作方法

瀏覽:34日期:2023-07-05 15:58:47
目錄零、學習目標 一、全局配置文件概述二、Application.properties配置文件1、配置tomcat端口號和web虛擬路徑2、對象類型的配置與使用3、兩種屬性注解方式的對比三、Application.yaml配置文件四、兩種配置文件的比較五、課后作業零、學習目標

1、掌握application.properties配置文件

2、掌握application.yaml配置文件

3、掌握使用@ConfigurationProperties注入屬性

4、掌握使用@Value注入屬性

一、全局配置文件概述

全局配置文件能夠對一些默認配置值進行修改。Spring Boot使用一個application.properties或者application.yaml的文件作為全局配置文件,該文件存放在src/main/resource目錄或者類路徑的/config,一般會選擇resource目錄。

二、Application.properties配置文件

(一)創建Spring Boot的Web項目PropertiesDemo

利用Spring Initializr方式創建項目

Spring Boot兩種全局配置和兩種注解的操作方法

設置項目元數據

Spring Boot兩種全局配置和兩種注解的操作方法

添加測試和Web依賴

Spring Boot兩種全局配置和兩種注解的操作方法

設置項目名稱及保存位置

Spring Boot兩種全局配置和兩種注解的操作方法

單擊【Finish】按鈕,完成項目初始化工作

Spring Boot兩種全局配置和兩種注解的操作方法

設置項目編碼為utf8

Spring Boot兩種全局配置和兩種注解的操作方法

(二)在application.properties里添加相關配置 點開resource目錄,查看應用程序屬性配置文件

Spring Boot兩種全局配置和兩種注解的操作方法

1、配置tomcat端口號和web虛擬路徑

#修改tomcat默認端口號server.port=8888#修改web虛擬路徑server.servlet.context-path=/lzy

Spring Boot兩種全局配置和兩種注解的操作方法

更多配置屬性,詳見官網https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html啟動應用,查看控制臺

Spring Boot兩種全局配置和兩種注解的操作方法

2、對象類型的配置與使用

(1)創建Pet類

在net.hw.lesson03里創建bean子包,在子包里創建Pet類

Spring Boot兩種全局配置和兩種注解的操作方法

package net.hw.lesson03.bean; /** * 功能:寵物實體類 * 作者:華衛 * 日期:2021年04月28日 */public class Pet { private String type; // 類型 private String name; // 名字 public String getType() {return type; } public void setType(String type) {this.type = type; } public String getName() {return name; } public void setName(String name) {this.name = name; } @Override public String toString() {return 'Pet{' +'type=’' + type + ’’’ +', name=’' + name + ’’’ +’}’; }}

(2)創建Person類

在net.hw.lesson03.bean包里創建Person類

Spring Boot兩種全局配置和兩種注解的操作方法

package net.hw.lesson03.bean; import java.util.List;import java.util.Map; /** * 功能:人類 * 作者:華衛 * 日期:2021年04月28日 */public class Person { private int id; // 編號 private String name; // 姓名 private List<String> hobby; // 愛好; private Map<String, String> family; // 家庭成員 private Pet pet; // 寵物 public int getId() {return id; } public void setId(int id) {this.id = id; } public String getName() {return name; } public void setName(String name) {this.name = name; } public List<String> getHobby() {return hobby; } public void setHobby(List<String> hobby) {this.hobby = hobby; } public Map<String, String> getFamily() {return family; } public void setFamily(Map<String, String> family) {this.family = family; } public Pet getPet() {return pet; } public void setPet(Pet pet) {this.pet = pet; } @Override public String toString() {return 'Person{' +'id=' + id +', name=’' + name + ’’’ +', hobby=' + hobby +', family=' + family +', pet=' + pet +’}’; }}

(3)在application.properties里配置對象

#配置對象person.id=1person.name=張三豐person.hobby=旅游,美食,音樂person.family.father=張云光person.family.mother=吳文燕person.family.grandpa=張宏宇person.famliy.grandma=唐雨欣person.family.son=張君寶person.family.daughter=張曉敏person.pet.type=泰迪犬person.pet.name=瑞瑞

Spring Boot兩種全局配置和兩種注解的操作方法

(4)給Person類添加注解

添加注解@Component,交給Spring去管理

Spring Boot兩種全局配置和兩種注解的操作方法

添加注解@ConfigurationProperties(prefix = “person”)

Spring Boot兩種全局配置和兩種注解的操作方法

注意:采用@ConfigurationProperties注解方式,必須要有set方法,才會自動為Person類所有屬性注入相應的值,包括簡單類型和復雜類型

(5)給Pet類添加注解

添加注解@Component,交給Spring去管理 添加注解@ConfigurationProperties(prefix = “person.pet”) - 可以不用添加

Spring Boot兩種全局配置和兩種注解的操作方法

(6)從Spring容器里獲取Person類的實例并輸出

實現接口ApplicationContextAware,實現其抽象方法setApplicationContext

Spring Boot兩種全局配置和兩種注解的操作方法

聲明ApplicationContext對象,并在setApplicationContext里初始化

Spring Boot兩種全局配置和兩種注解的操作方法

創建測試方法testPerson(),從Spring容器中獲取Person類的實例并輸出

Spring Boot兩種全局配置和兩種注解的操作方法

運行測試方法testPerson(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

(7)解決輸出結果的漢字亂碼問題

使用JDK工具native2ascii.exe將漢字處理成uncode編碼

Spring Boot兩種全局配置和兩種注解的操作方法

D:IdeaProjectsPropertiesDemo>cd src/main/resources D:IdeaProjectsPropertiesDemosrcmainresources>native2ascii -encoding utf8 application.properties#u4feeu6539tomcatu9ed8u8ba4u7aefu53e3u53f7server.port=8888#u4feeu6539webu865au62dfu8defu5f84server.servlet.context-path=/lzy #u914du7f6eu5bf9u8c61person.id=1person.name=u5f20u4e09u4e30person.hobby=u65c5u6e38,u7f8eu98df,u97f3u4e50person.family.father=u5f20u4e91u5149person.family.mother=u5434u6587u71d5person.family.grandpa=u5f20u5b8fu5b87person.famliy.grandma=u5510u96e8u6b23person.family.son=u5f20u541bu5b9dperson.family.daughter=u5f20u6653u654fperson.pet.type=u6cf0u8feau72acperson.pet.name=u745eu745e D:IdeaProjectsPropertiesDemosrcmainresources>

修改application.properties文件,漢字采用unicode編碼形式

Spring Boot兩種全局配置和兩種注解的操作方法

運行測試方法testPerson(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

(8)從Spring容器里獲取Pet類的實例并輸出

查看Pet類的注解,有配置屬性的注解@ConfigurationProperties(prefix = 'person.pet')

Spring Boot兩種全局配置和兩種注解的操作方法

在測試類里添加測試方法testPet()

Spring Boot兩種全局配置和兩種注解的操作方法

運行測試方法testPet(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

注釋掉Pet類的配置屬性的注解@ConfigurationProperties(prefix = 'person.pet')

Spring Boot兩種全局配置和兩種注解的操作方法

再次運行測試方法testPet(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

修改application.properties,配置寵物對象

Spring Boot兩種全局配置和兩種注解的操作方法

再次運行測試方法testPet(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

大家可以看到,寵物對象的屬性依然沒有被注入,下面我們換一種屬性注解的方式,采用@Value注解方式。

給Pet類的屬性添加值注解@Value

Spring Boot兩種全局配置和兩種注解的操作方法

再次運行測試方法testPet(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

3、兩種屬性注解方式的對比 采用@ConfigurationProperties注解方式,必須要有set方法,才會自動為所注解的類的全部屬性注入相應的值,包括簡單類型和復雜類型(List、Map、Pet……)。 采用@Value注解方式,優點在于可以不要set方法,但是有兩點不足:其一、需要一個一個地注入,顯得麻煩;其二、對于復雜類型不能注入,比如Map、List、Pet等。三、Application.yaml配置文件

1、備份application.properties文件 文件更名為application.back,即讓此文件不起作用

Spring Boot兩種全局配置和兩種注解的操作方法

2、在resoures目錄里創建application.yaml文件

創建application.yaml文件

Spring Boot兩種全局配置和兩種注解的操作方法

配置服務器屬性

Spring Boot兩種全局配置和兩種注解的操作方法

配置person對象屬性

Spring Boot兩種全局配置和兩種注解的操作方法

配置pet對象屬性

Spring Boot兩種全局配置和兩種注解的操作方法

查看application.yaml文件內容

#配置服務器server: port: 8888 servlet: context-path: /lzy #配置person對象person: id: 1 name: 張三豐 hobby: 旅游 美食 音樂 family: { father: 張云光, mother: 吳文燕, grandpa: 張宏宇, grandma: 唐雨欣, son: 張君寶, daughter: 張曉敏 } pet: type: 泰迪犬 name: 瑞瑞 #配置pet對象pet: type: 泰迪犬 name: 瑞瑞

3、運行測試方法testPerson(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

4、運行測試方法testPet(),查看結果

Spring Boot兩種全局配置和兩種注解的操作方法

四、兩種配置文件的比較

1、application.properties配置文件

采用XML語法,鍵值對:鍵=值,沒有層次結構 如果值里有漢字,必須得轉成unicode,否則會出現亂碼問題

2、application.yaml配置文件

采用YAML語法,鍵值對:鍵: 值(冒號與值之間有空格),具有層次結構 允許值里有漢字,不必轉成unicode,也不會出現亂碼問題五、課后作業

任務:修改StudentInfo項目輸出學生信息

Spring Boot兩種全局配置和兩種注解的操作方法

創建學生實體類Student

Spring Boot兩種全局配置和兩種注解的操作方法

添加屬性

private String id;private String name;private String gender;private int age;private String major;private String telephone;private String email;private String hobby; 添加getter和setter 添加toString()方法 添加注解@Component 添加注解@ConfigureProperties 將application.properties更名為application.yaml

Spring Boot兩種全局配置和兩種注解的操作方法

配置student對象屬性

Spring Boot兩種全局配置和兩種注解的操作方法

修改控制器StudentInfoController,student()方法里返回student的值 運行啟動類

Spring Boot兩種全局配置和兩種注解的操作方法

在瀏覽器里訪問http://localhost:8080/student

Spring Boot兩種全局配置和兩種注解的操作方法

到此這篇關于Spring Boot兩種全局配置和兩種注解的文章就介紹到這了,更多相關Spring Boot配置注解內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本大胆欧美人术艺术动态| 精品久久精品| 婷婷久久一区| 亚洲手机在线| 国产亚洲精品v| 亚洲人亚洲人色久| 四虎在线精品| 国产毛片精品| 精品一区二区三区四区五区| 欧美偷窥清纯综合图区| 国产免费久久| 四虎国产精品免费观看| 日韩精品1区| 激情综合网五月| 日韩中文欧美在线| 国产三级精品三级在线观看国产| 欧美激情aⅴ一区二区三区 | 欧美1区2区3区| 先锋亚洲精品| 久久国内精品视频| 国产精品一区二区免费福利视频| 欧美国产亚洲精品| 黑人精品一区| 丝袜美腿一区二区三区| 久久狠狠亚洲综合| 精精国产xxxx视频在线播放| 先锋影音国产一区| 国产免费av国片精品草莓男男| 久久久久久婷| 欧美日韩国产高清| 欧美日韩视频免费看| 中国字幕a在线看韩国电影| 午夜久久99| 国产精品密蕾丝视频下载| 日韩深夜视频| 亚洲综合色婷婷在线观看| 国产日韩欧美中文在线| 亚洲www啪成人一区二区| 在线精品视频一区| 精品视频在线观看网站| 激情五月综合| 国产精品亚洲综合在线观看| 久久国产主播| 欧美在线黄色| 国产一区清纯| 国产精品美女久久久久久不卡| 色婷婷精品视频| 欧美午夜网站| 亚洲精品一区二区妖精| 麻豆精品久久| 中文一区一区三区免费在线观 | 99香蕉国产精品偷在线观看 | 欧美激情综合| 日韩视频久久| 精品免费视频| 综合精品一区| 麻豆视频在线观看免费网站黄 | 麻豆成人在线| 国产一区二区三区不卡av| 老牛影视一区二区三区| 国产成人77亚洲精品www| 在线一区二区三区视频| 亚洲天堂资源| 国产日韩欧美一区在线| 黄色成人在线网址| 精品国产亚洲日本| 亚洲综合二区| 婷婷激情一区| 久久gogo国模啪啪裸体| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产aⅴ精品一区二区四区| 日韩在线观看中文字幕| 久久久久国产精品一区二区| 91精品一区| 伊人影院久久| 日韩理论片av| 狂野欧美性猛交xxxx| 中文字幕视频精品一区二区三区| 久久久久国产精品一区三寸| 国产精品主播在线观看| 中文字幕中文字幕精品| 天堂网在线观看国产精品| 国产专区精品| 国产模特精品视频久久久久| 视频一区日韩| 国产中文一区| 国产一区2区在线观看| 国产精品一区二区三区四区在线观看 | 亚洲女同一区| 蜜臀av国产精品久久久久 | 狂野欧美性猛交xxxx| 日本不卡一区二区三区| 欧美中文日韩| 亚洲国产日韩欧美在线| 日韩欧美另类一区二区| 久久午夜影院| 久久国内精品自在自线400部| 视频在线在亚洲| 欧美不卡视频| 久久久久中文| 亚洲精品一级二级| 精品久久电影| 精品中文字幕一区二区三区| 久久精品 人人爱| 日韩av午夜在线观看| 日韩在线电影| 亚洲aa在线| 日韩中文字幕一区二区高清99| 日韩午夜在线| 奶水喷射视频一区| 免费视频久久| 亚洲男女自偷自拍| 免费久久99精品国产自在现线| 亚洲女同一区| 欧美一区二区三区激情视频| 久久青草久久| 不卡在线一区二区| 亚洲精品一区二区在线看| 婷婷亚洲五月| 亚洲激情黄色| 在线看片一区| 视频一区日韩精品| 亚洲精品无播放器在线播放| 在线观看亚洲精品福利片| 久久99伊人| 亚洲一区二区三区无吗| 亚洲精品黄色| 日韩精品亚洲专区在线观看| 欧美日韩1区| 国产欧美88| 精品久久中文| 久久婷婷av| 国产视频亚洲| 天堂久久av| 国产欧美高清| 精品视频高潮| 999国产精品| 香蕉久久国产| 日本a口亚洲| 欧美激情麻豆| 欧美少妇精品| 伊人精品在线| 日韩精品视频一区二区三区| 国产精品一区高清| 国产在线观看91一区二区三区 | 爽好久久久欧美精品| 天堂俺去俺来也www久久婷婷| 欧美日一区二区三区在线观看国产免| 老司机免费视频一区二区三区| 三上悠亚国产精品一区二区三区| 欧美日韩国产高清| 天堂俺去俺来也www久久婷婷| 国产精品玖玖玖在线资源| 亚洲永久av| 男人天堂欧美日韩| 国产精品亚洲欧美日韩一区在线| 久久av网址| 99久久婷婷| 亚洲欧美专区| 精品久久精品| 国产婷婷精品| 国产免费播放一区二区| 成人欧美一区二区三区的电影| 妖精视频成人观看www| 久久国产三级| 麻豆精品蜜桃| 日韩精品国产欧美| 中文在线资源| 亚洲精品伊人| 国产福利片在线观看| 久久亚洲一区| 久久这里只有| 亚洲黄页一区| 久久久久伊人| 亚洲一区二区三区四区五区午夜 | 国产精品99视频| 亚洲一区欧美激情| 欧美91在线| 91久久亚洲| 精品网站999| 亚洲欧美日韩精品一区二区| 国产精品115| 影院欧美亚洲| 毛片不卡一区二区| 国产精品普通话对白| 蜜桃久久久久| 亚洲色图网站| 久久久久久久久丰满| 国产乱码精品一区二区三区四区 | 久久av导航| 视频一区二区三区在线| 手机在线电影一区| 日本不卡一二三区黄网| 91精品一区二区三区综合在线爱| 国产亚洲一区二区三区啪| 欧美日韩国产传媒| 精品福利久久久| 日韩av二区在线播放| 亚洲二区三区不卡| 91综合网人人|