日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

SpringBoot項目中這十個開發技巧,你都知道嗎?

來源: 責編: 時間:2024-05-16 17:45:48 248觀看
導讀環境:SpringBoot3.2.51. 使用Maven自動擴展屬性通過使用資源過濾,你可以從 Maven 項目中自動擴展屬性。如果使用 spring-boot-starter-parent,就可以用 @..@ 占位符引用 Maven "project properties",如下示例:pack: app:

環境:SpringBoot3.2.5QBm28資訊網——每日最新資訊28at.com

1. 使用Maven自動擴展屬性

通過使用資源過濾,你可以從 Maven 項目中自動擴展屬性。如果使用 spring-boot-starter-parent,就可以用 @..@ 占位符引用 Maven "project properties",如下示例:QBm28資訊網——每日最新資訊28at.com

pack:  app:    java-version: "java.version@"    springboot-version: "@project.parent.version@"    sourceEncoding: "@project.build.sourceEncoding@"

測試QBm28資訊網——每日最新資訊28at.com

@Value("${pack.app.java-version}")private String javaVersion ;@Value("${pack.app.springboot-version}")private String springBootVersion ;@Value("${pack.app.sourceEncoding}")private String sourceEncoding ;

輸出結果QBm28資訊網——每日最新資訊28at.com

java-version: 17.0.9, springboot-version: 3.2.5, sourceEncoding: UTF-8

maven parent定義如下:QBm28資訊網——每日最新資訊28at.com

圖片圖片QBm28資訊網——每日最新資訊28at.com

注:在生成環境下,你將無法看到上面的輸出結果,你需要做其它的配置,情況下面的第九條。QBm28資訊網——每日最新資訊28at.com

2. SpringApplication外部化配置

可以通過在 spring.main.* 中設置屬性來將配置外部化QBm28資訊網——每日最新資訊28at.com

spring:  main:    web-application-type: servlet        banner-mode: off

其它配置屬性如下QBm28資訊網——每日最新資訊28at.com

圖片圖片QBm28資訊網——每日最新資訊28at.com

如果你通過編程的方式也設置了上面的屬性,如下:QBm28資訊網——每日最新資訊28at.com

SpringApplication app = new SpringApplication(Application.class) ;app.setWebApplicationType(WebApplicationType.SERVLET) ;app.setBannerMode(Mode.CONSOLE) ;app.run(args) ;

那么配置文件中自定義配置優先級高于代碼中設置。QBm28資訊網——每日最新資訊28at.com

注意看上面的配置屬性,我們還可以之多多個源配置(其實就是添加一些配置類而已)。QBm28資訊網——每日最新資訊28at.com

spring:  main:    sources:    - com.pack.CustomConfig    - com.pack.AkfConfig

不通過編碼,之間通過配置文件像容器中添加2個配置類。QBm28資訊網——每日最新資訊28at.com

3. 修改配置文件位置&名稱

我們可以通過以下系統屬性(或環境變量)來更改行為:QBm28資訊網——每日最新資訊28at.com

  • spring.config.name (SPRING_CONFIG_NAME)默認是application為名稱
  • spring.config.location (SPRING_CONFIG_LOCATION)要加載的文件(如 classpath 資源或 URL)。為該文件設置了一個單獨的環境屬性源,它可以被系統屬性、環境變量或命令行覆蓋。

在應用啟動時,我們需要制定系統屬性或者對應的環境變量(上面的大寫),如下QBm28資訊網——每日最新資訊28at.com

java -Dspring.config.name=app -jar MyApp.jar

指定配置文件的名稱是app,啟動時會自動的加載app.yml或者app.properties配置QBm28資訊網——每日最新資訊28at.com

java -Dspring.config.locatinotallow=d:/xxxooo/app.yml -jar MyApp.jar

指定配置文件的路徑。QBm28資訊網——每日最新資訊28at.com

4. 激活配置文件

當你有如下配置文件時:QBm28資訊網——每日最新資訊28at.com

圖片圖片QBm28資訊網——每日最新資訊28at.com

除默認的applicaiton.yml配置文件外,還有其它針對不同環境的配置文件,你可以通過如下配置激活對應的配置文件:QBm28資訊網——每日最新資訊28at.com

spring:  profiles:    active:    - dev

這里設置dev后上面的配置不僅會加載默認的application.yml還會加載application-dev.yml配置文件。QBm28資訊網——每日最新資訊28at.com

當你沒有激活任何配置時(沒有設置spring.profiles.active),在默認情況下會加載default配置,如:application-default.yml。通過如下配置修改:QBm28資訊網——每日最新資訊28at.com

spring:  profiles:    default: dev

這樣配置后會加載application-dev.yml配置。QBm28資訊網——每日最新資訊28at.com

5. 設置父容器

在SpringMVC項目中默認是有父子容器說法,在SpringBoot項目默認是沒有父子容器,不過我們可以通過如下方式設置父子容器。QBm28資訊網——每日最新資訊28at.com

SpringApplicationBuilder builder = new SpringApplicationBuilder(Application.class) ;// 這樣設置后,你當前容器將是父容器;child內部會再創建一個SpringApplicationBuilder同時設置是非web項目。builder.child(ChildConfig.class) ;// 這樣設置后,你當前容器將是子容器。builder.parent(ParentConfig.class) ;builder.build().run(args) ;

不管是使用child還是parent,內部創建的都是AnnotationConfigApplicationContext容器。QBm28資訊網——每日最新資訊28at.com

6. 修改默認DispatcherServlet路徑

默認情況下,所有接口訪問都從根目錄 (/) 進行。你可以按如下修改默認的訪問路徑:QBm28資訊網——每日最新資訊28at.com

spring:  mvc:    servlet:      path: /api

這樣配置后所有的請求都必須是/api/**開頭。QBm28資訊網——每日最新資訊28at.com

對于DispatcherServlet的定義,我們可以通過自定義DispatcherServletRegistrationBean bean方式實現。QBm28資訊網——每日最新資訊28at.com

@Bean(name = DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME)public DispatcherServletRegistrationBean dispatcherServletRegistration() {  DispatcherServlet dispatcherServlet = new DispatcherServlet() ;  // TODO; dispatcherServlet 相應配置  DispatcherServletRegistrationBean registration = new DispatcherServletRegistrationBean(dispatcherServlet,      "/api") ;  registration.setName("dispatcherServlet") ;  registration.setLoadOnStartup(0) ;  return registration ;}

該種方式實現更多的自定義配置。QBm28資訊網——每日最新資訊28at.com

7. 訪問日志配置

訪問日志可通過 Tomcat、Undertow 和 Jetty 各自的命名空間進行配置。如下是對Tomcat配置。QBm28資訊網——每日最新資訊28at.com

server:  tomcat:    basedir: "pack-tomcat"    accesslog:      enabled: true      pattern: "%t %a %r %s (%D microseconds)"

日志的默認位置是相對于 Tomcat 基本目錄的日志目錄。默認情況下,日志目錄是一個臨時目錄,如果你要固定目錄,你可以安裝如上配置,日志位于 pack-tomcat/logs 中,相對于應用程序的工作目錄。QBm28資訊網——每日最新資訊28at.com

8. 啟用 Tomcat 的 MBean 注冊表

嵌入式 Tomcat 的 MBean 注冊表默認是禁用的。這最大限度地減少了 Tomcat 的內存占用。如果你想使用 Tomcat 的 MBeans,例如讓 Micrometer 使用它們來公開度量指標,就必須使用 server.tomcat.mbeanregistry.enabled 屬性來實現,如下例所示:QBm28資訊網——每日最新資訊28at.com

server:  tomcat:    mbeanregistry:      enabled: true

開啟以后,通過jconsole查看MBean信息,如下:QBm28資訊網——每日最新資訊28at.com

圖片圖片QBm28資訊網——每日最新資訊28at.com

在這里你可以查看到Tomcat的各項指標信息。QBm28資訊網——每日最新資訊28at.com

9. 生成構建信息

Maven 插件和 Gradle 插件都允許生成包含項目坐標、名稱和版本的構建信息。這些插件還可以通過配置添加其他屬性。當存在此類文件時,Spring Boot 會自動配置一個 BuildProperties Bean。QBm28資訊網——每日最新資訊28at.com

<plugin>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-maven-plugin</artifactId>  <version>3.2.5</version>  <executions>    <execution>      <goals>          <goal>build-info</goal>      </goals>    </execution>  </executions></plugin>

通過上面的配置,你在配置文件中使用的@...@就會得到生效。QBm28資訊網——每日最新資訊28at.com

10. 生成Git信息

Maven 和 Gradle 都允許生成一個 git.properties 文件,其中包含項目構建時 git 源代碼倉庫的狀態信息。添加如下插件:QBm28資訊網——每日最新資訊28at.com

<plugin>  <groupId>io.github.git-commit-id</groupId>  <artifactId>git-commit-id-maven-plugin</artifactId></plugin>

編譯打包項目后,在你的jar包中的classes下會包含一個git.properties信息。內容如下(在控制臺也會輸出這些信息):QBm28資訊網——每日最新資訊28at.com

圖片圖片QBm28資訊網——每日最新資訊28at.com

jar包中的classes目錄QBm28資訊網——每日最新資訊28at.com

圖片圖片QBm28資訊網——每日最新資訊28at.com

QBm28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-88579-0.htmlSpringBoot項目中這十個開發技巧,你都知道嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Oracle 數據量 150T,PostgreSQL 能搞定嗎?

下一篇: 網易有道 AI 翻譯開放 10 萬字符免費體驗,加速新質生產力下放

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产视频一区在线| 亚洲大胆av| 久久久噜噜噜久久狠狠50岁| 亚洲欧洲一区二区天堂久久| 国产日产欧美精品| 欧美日韩调教| 欧美一区二区三区四区在线| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩1区2区3区| 久久高清国产| 亚洲欧美在线x视频| 国产日韩欧美成人| 久久精品国产清自在天天线| 午夜精品久久久久久99热| 亚洲视频1区| 亚洲桃色在线一区| 亚洲一二三区在线| 亚洲免费人成在线视频观看| 在线亚洲免费视频| 在线视频中文亚洲| 亚洲午夜精品在线| 亚洲影院免费| 亚洲伊人观看| 欧美在线观看www| 久久国产精品亚洲77777| 久久精品视频va| 久久免费视频网| 亚洲视频一区在线| 亚洲影院在线| 亚洲视频专区在线| 好看的日韩av电影| 1769国内精品视频在线播放| 91久久精品国产91久久| 亚洲精品黄色| 99热免费精品在线观看| 一本高清dvd不卡在线观看| 一区二区高清视频| 亚洲一区二区三区成人在线视频精品| 亚洲一区二区三区四区视频| 亚洲欧美视频在线| 久久蜜桃资源一区二区老牛 | 一区二区三区四区五区精品视频| 亚洲电影免费在线观看| 在线播放亚洲一区| 亚洲国产欧美日韩精品| 亚洲精品一区二区三区四区高清| 日韩视频专区| 亚洲资源在线观看| 久久精品国产99国产精品澳门| 久久精品一本久久99精品| 久久午夜色播影院免费高清| 欧美电影免费观看| 欧美日韩免费看| 国产精品人成在线观看免费| 国产综合久久久久影院| 亚洲电影下载| 日韩视频第一页| 亚洲欧美在线播放| 久久精品一区二区三区四区| 欧美 日韩 国产 一区| 欧美日韩国产综合视频在线观看中文| 国产精品久久久久一区| 欧美日韩三级电影在线| 国产精品婷婷午夜在线观看| 韩国v欧美v日本v亚洲v| 亚洲欧洲午夜| 午夜国产精品影院在线观看| 久久资源av| 欧美色区777第一页| 国产日韩一区在线| 亚洲精品欧美日韩专区| 欧美一区不卡| 欧美黑人在线播放| 国产女人aaa级久久久级| 国产精品免费电影| 精品成人久久| 亚洲深夜福利视频| 国产精品中文字幕欧美| 亚洲香蕉在线观看| 欧美午夜视频在线观看| 国产精品二区在线| 亚洲性线免费观看视频成熟| 西西裸体人体做爰大胆久久久| 葵司免费一区二区三区四区五区| 欧美成人精精品一区二区频| 美女精品在线| 亚洲福利视频三区| 另类av导航| 亚洲午夜一区二区三区| 国产一区二区三区自拍| 欧美成人免费全部观看天天性色| 日韩一级片网址| 国产美女精品人人做人人爽| 亚洲网站在线| 免费看亚洲片| 尤物在线精品| 国产麻豆一精品一av一免费| 欧美成人精品一区| 亚洲电影免费观看高清完整版在线 | 国产精品99久久99久久久二8 | 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 亚洲一区精彩视频| 久久久久国产精品www| 国产精品99久久久久久久久久久久| 含羞草久久爱69一区| 国产精品久久久久毛片大屁完整版 | 亚洲国产高清在线观看视频| 欧美区高清在线| 亚洲看片一区| 在线观看欧美日本| 国产精品一区在线观看| 欧美伊人精品成人久久综合97| 日韩视频欧美视频| 久久婷婷麻豆| 国产精品h在线观看| 在线免费观看视频一区| 亚洲欧美日韩系列| 久久久国产一区二区三区| 欧美精品一区在线发布| 亚洲国产精品www| 久久久噜噜噜久久| 国产主播精品| 欧美一区二区三区免费大片| 国产精品久久久久久久久| av成人黄色| 欧美日韩精品是欧美日韩精品| 在线不卡欧美| 亚洲九九精品| 欧美一区二区三区婷婷月色| 国产精品免费一区二区三区观看| 99精品国产福利在线观看免费 | 久久久久久一区| 欧美日韩精品国产| 国内不卡一区二区三区| 久久国产精品毛片| 亚洲国产精品一区二区www| 久久蜜臀精品av| 99re66热这里只有精品4| 国产精品老牛| 老妇喷水一区二区三区| 一区二区冒白浆视频| 好吊视频一区二区三区四区| 欧美日本在线| 欧美在线一区二区| 日韩午夜精品| 狠狠色狠狠色综合人人| 国产精品ⅴa在线观看h| 久久一区中文字幕| 亚洲永久免费视频| 亚洲国产日韩在线| 国产日韩欧美| 欧美日韩理论| 老司机一区二区三区| 亚洲影院污污.| 亚洲精品视频在线| 韩国美女久久| 国产精品午夜电影| 欧美日本在线观看| 久久美女性网| 一本在线高清不卡dvd| 欧美超级免费视 在线| 狠狠色狠狠色综合日日91app| 欧美日韩精品一区视频| 久久久之久亚州精品露出| 亚洲图片自拍偷拍| 国产精品视频免费| 一区二区三区精品视频| 国产一级精品aaaaa看| 欧美视频一区在线| 欧美成人在线免费观看| 欧美在线www| 久久久国产精品亚洲一区| 欧美影院成人| 亚洲精品社区| 伊人久久综合97精品| 国产精品尤物| 欧美特黄a级高清免费大片a级| 美女精品在线观看| 久久se精品一区精品二区| 亚洲社区在线观看| 日韩视频不卡| 亚洲人成久久| 亚洲第一久久影院| 韩日在线一区| 国产深夜精品| 国产麻豆午夜三级精品| 国产精品久久久久久久久久久久久| 欧美精品久久99| 欧美成人久久| 欧美h视频在线| 免费黄网站欧美| 老色鬼久久亚洲一区二区| 久久精品一区二区国产| 久久爱www久久做| 欧美一区二区三区视频在线| 亚洲欧美久久| 亚洲欧洲99久久| 欧美一二三视频| 性伦欧美刺激片在线观看| 午夜一级久久| 亚洲综合第一| 亚洲欧美另类中文字幕| 亚洲影院一区| 亚洲综合清纯丝袜自拍|