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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

1、掌握application.properties配置文件

2、掌握application.yaml配置文件

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

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

一、全局配置文件概述

全局配置文件能夠?qū)σ恍┠J(rèn)配置值進(jìn)行修改。Spring Boot使用一個(gè)application.properties或者application.yaml的文件作為全局配置文件,該文件存放在src/main/resource目錄或者類路徑的/config,一般會(huì)選擇resource目錄。

二、Application.properties配置文件

(一)創(chuàng)建Spring Boot的Web項(xiàng)目PropertiesDemo

利用Spring Initializr方式創(chuàng)建項(xiàng)目

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

設(shè)置項(xiàng)目元數(shù)據(jù)

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

添加測(cè)試和Web依賴

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

設(shè)置項(xiàng)目名稱及保存位置

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

單擊【Finish】按鈕,完成項(xiàng)目初始化工作

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

設(shè)置項(xiàng)目編碼為utf8

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

(二)在application.properties里添加相關(guān)配置 點(diǎn)開resource目錄,查看應(yīng)用程序?qū)傩耘渲梦募?/p>

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

1、配置tomcat端口號(hào)和web虛擬路徑

#修改tomcat默認(rèn)端口號(hào)server.port=8888#修改web虛擬路徑server.servlet.context-path=/lzy

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

更多配置屬性,詳見官網(wǎng)https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html啟動(dòng)應(yīng)用,查看控制臺(tái)

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

2、對(duì)象類型的配置與使用

(1)創(chuàng)建Pet類

在net.hw.lesson03里創(chuàng)建bean子包,在子包里創(chuàng)建Pet類

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

package net.hw.lesson03.bean; /** * 功能:寵物實(shí)體類 * 作者:華衛(wèi) * 日期: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)創(chuàng)建Person類

在net.hw.lesson03.bean包里創(chuàng)建Person類

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

package net.hw.lesson03.bean; import java.util.List;import java.util.Map; /** * 功能:人類 * 作者:華衛(wèi) * 日期:2021年04月28日 */public class Person { private int id; // 編號(hào) 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里配置對(duì)象

#配置對(duì)象person.id=1person.name=張三豐person.hobby=旅游,美食,音樂person.family.father=張?jiān)乒鈖erson.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方法,才會(huì)自動(dòng)為Person類所有屬性注入相應(yīng)的值,包括簡(jiǎn)單類型和復(fù)雜類型

(5)給Pet類添加注解

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

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

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

實(shí)現(xiàn)接口ApplicationContextAware,實(shí)現(xiàn)其抽象方法setApplicationContext

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

聲明ApplicationContext對(duì)象,并在setApplicationContext里初始化

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

創(chuàng)建測(cè)試方法testPerson(),從Spring容器中獲取Person類的實(shí)例并輸出

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

運(yùn)行測(cè)試方法testPerson(),查看結(jié)果

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

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

使用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兩種全局配置和兩種注解的操作方法

運(yùn)行測(cè)試方法testPerson(),查看結(jié)果

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

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

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

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

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

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

運(yùn)行測(cè)試方法testPet(),查看結(jié)果

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

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

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

再次運(yùn)行測(cè)試方法testPet(),查看結(jié)果

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

修改application.properties,配置寵物對(duì)象

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

再次運(yùn)行測(cè)試方法testPet(),查看結(jié)果

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

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

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

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

再次運(yùn)行測(cè)試方法testPet(),查看結(jié)果

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

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

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

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

2、在resoures目錄里創(chuàng)建application.yaml文件

創(chuàng)建application.yaml文件

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

配置服務(wù)器屬性

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

配置person對(duì)象屬性

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

配置pet對(duì)象屬性

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

查看application.yaml文件內(nèi)容

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

3、運(yùn)行測(cè)試方法testPerson(),查看結(jié)果

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

4、運(yùn)行測(cè)試方法testPet(),查看結(jié)果

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

四、兩種配置文件的比較

1、application.properties配置文件

采用XML語法,鍵值對(duì):鍵=值,沒有層次結(jié)構(gòu) 如果值里有漢字,必須得轉(zhuǎn)成unicode,否則會(huì)出現(xiàn)亂碼問題

2、application.yaml配置文件

采用YAML語法,鍵值對(duì):鍵: 值(冒號(hào)與值之間有空格),具有層次結(jié)構(gòu) 允許值里有漢字,不必轉(zhuǎn)成unicode,也不會(huì)出現(xiàn)亂碼問題五、課后作業(yè)

任務(wù):修改StudentInfo項(xiàng)目輸出學(xué)生信息

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

創(chuàng)建學(xué)生實(shí)體類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對(duì)象屬性

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

修改控制器StudentInfoController,student()方法里返回student的值 運(yùn)行啟動(dòng)類

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

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

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

到此這篇關(guān)于Spring Boot兩種全局配置和兩種注解的文章就介紹到這了,更多相關(guān)Spring Boot配置注解內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品1区2区| 一本综合精品| 青青草91视频| 亚洲精品系列| 蜜臀av一区二区在线免费观看 | 亚洲天堂av影院| 日韩国产欧美| 欧洲毛片在线视频免费观看| 亚洲成人一区在线观看| 亚洲国产综合在线看不卡| 婷婷六月综合| 日本亚洲不卡| 久久伊人亚洲| 黄色亚洲免费| 午夜日本精品| 青草国产精品| 国产精品成人一区二区不卡| 激情综合自拍| 亚洲精品第一| 三级在线看中文字幕完整版| 黄色亚洲精品| 久久爱www成人| 午夜电影亚洲| 欧美三级第一页| 日韩综合精品| 日韩三级一区| 人人精品亚洲| 国产乱码精品| 男人的天堂久久精品| 精品视频91| 四虎精品永久免费| 99久精品视频在线观看视频| 亚洲欧美久久久| 日韩精品永久网址| 青青在线精品| 亚洲福利精品| 精品伊人久久久| 日韩欧美中文字幕一区二区三区| 麻豆高清免费国产一区| 欧美精选一区二区三区| 精品亚洲a∨一区二区三区18| 性欧美长视频| 四虎影视精品| 精品视频97| 国产高清亚洲| 91亚洲无吗| 日韩中文字幕av电影| 999视频精品| 美女一区网站| 国产精品久久观看| 另类综合日韩欧美亚洲| 日本午夜精品久久久| 老色鬼久久亚洲一区二区| 国产高潮在线| 国产中文字幕一区二区三区| 97成人超碰| 欧美日一区二区在线观看| 日韩专区视频网站| 综合一区在线| 亚洲永久精品唐人导航网址| 亚洲欧美日韩高清在线| 在线 亚洲欧美在线综合一区| 久久视频国产| 91九色精品| 好吊一区二区三区| 91久久中文| 视频精品一区| 国产精品亚洲欧美日韩一区在线| 天堂av在线一区| 在线观看视频免费一区二区三区| 亚洲一二av| 国产精品www.| 成人一二三区| 狠狠操综合网| 日韩精品社区| 精品免费在线| 婷婷综合网站| 日本不卡一区二区| 精品视频91| 欧美日韩精品一本二本三本| 丝袜a∨在线一区二区三区不卡| 亚洲91在线| 成人综合一区| 久久久成人网| 亚洲三级在线| 国产精品99在线观看| 狠狠爱www人成狠狠爱综合网| 日本一区二区三区视频在线看| 国产精品毛片久久久| 国产在线|日韩| 国产精品久久久久久模特| av一区二区高清| 久久国内精品| 婷婷激情综合| 国产在线观看91一区二区三区| 午夜久久黄色| 国产粉嫩在线观看| 日韩和欧美一区二区| 国产一区2区| 综合激情网站| 久久国产成人午夜av影院宅| 日本v片在线高清不卡在线观看| 天堂√中文最新版在线| 少妇高潮一区二区三区99| 神马午夜在线视频| 国产精品日韩精品中文字幕| 夜夜嗨网站十八久久| 国产理论在线| 国产亚洲精aa在线看| 麻豆精品网站| 欧美日韩视频| 免费视频国产一区| 欧美精品日日操| 国产欧美一区二区精品久久久| 亚洲一级特黄| 97精品97| 韩国一区二区三区视频| 国产精品极品在线观看| 色综合视频一区二区三区日韩| 免费视频亚洲| 欧美精品自拍| 亚洲国产一区二区在线观看| 国产在线观看www| 国产白浆在线免费观看| 成人精品高清在线视频| 久久精品亚洲一区二区| 久久超碰99| 国产在线视频欧美一区| 美女毛片一区二区三区四区最新中文字幕亚洲| 欧美成人国产| 精品91久久久久| 免费视频久久| 日韩中文字幕麻豆| 蜜臀精品久久久久久蜜臀 | 日韩精品电影一区亚洲| 综合国产视频| 日本中文字幕不卡| 国产精品亚洲二区| 国产精品国产一区| 欧美91福利在线观看| 日韩精品一二三四| 欧美日韩视频免费看| 91福利精品在线观看| 久久超级碰碰| 国产综合色区在线观看| 99综合视频| 国产精品日本一区二区三区在线| 美女毛片一区二区三区四区最新中文字幕亚洲| 你懂的亚洲视频| av高清不卡| 日本一区免费网站| 超级白嫩亚洲国产第一| 日韩亚洲在线| 国产美女撒尿一区二区| 日韩在线精品| 欧美日韩黄网站| 1000部精品久久久久久久久| 欧美资源在线| 国产欧美日本| 91精品推荐| 国产欧美三级| 亚洲欧洲一区二区天堂久久| 国产欧美一区二区三区精品观看 | 国产精品一区高清| 亚洲一本视频| 久久99精品久久久久久园产越南 | 日韩精品一卡二卡三卡四卡无卡| 国产精品成人一区二区网站软件| 欧美二区视频| 久久av网址| 一级欧美视频| 国精品一区二区三区| 国产精品男女| 亚洲精品乱码久久久久久蜜桃麻豆| 精品免费视频| 91精品国产自产在线丝袜啪| 亚洲高清激情| 日韩欧美看国产| 国产区精品区| 日韩高清在线一区| 亚洲欧美日韩视频二区| 91久久久精品国产| 999久久久精品国产| 成人日韩精品| 黄色精品视频| 精品久久在线| 国产精品jk白丝蜜臀av小说| 午夜亚洲福利| 亚洲精品乱码| 亚洲精品日韩久久| 视频国产精品| 蜜桃久久久久久久| 在线亚洲观看| 激情欧美国产欧美| 欧美中文字幕一区二区| 亚洲va在线| 五月天综合网站| 性一交一乱一区二区洋洋av| 视频一区欧美精品| 日韩精品视频中文字幕|