日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot学习笔记-实践建言

發布時間:2025/3/21 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot学习笔记-实践建言 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

本文延續《Spring Boot學習筆記-快速示例》,從開發指南中摘出一些實踐經驗可供參考。這也是筆者看到的眼前一亮之處,開發的實踐經驗不是讀書可以學來的,除了看別人的開源源碼(當然一般公司內部的代碼不允許對外公開的),大多時候得靠自己摸索了。Spring Boot開發指南能從實戰的角度提出一些建言,值得贊揚。

構建工具

利用Spring Boot開發應用,之前就建議選擇一種構建工具。筆者習慣Maven,在此只提及Maven。當我們的pom.xml中繼承了spring-boot-starter-parent,就會得到一些默認配置,如下所示。

  • 默認編譯級別為Java 1.6
  • 源碼編碼為UTF-8
  • 一個依賴管理節點,允許你省略普通依賴的 <version> 標簽,繼承自spring-boot-dependencies POM。
  • 合適的資源過濾
  • 合適的插件配置(exec插件,surefire,Git commit ID,shade)針對 application.properties 和 application.yml 的資源過濾

**ps:**由于默認配置文件接收Spring風格的占位符(${...}),Maven filtering改用 @..@ 占位符(你可以使用Maven屬性 resource.delimiter 來覆蓋它) 。

熟悉Maven的使用者,可以覆蓋上述的默認配置。

項目包結構

  • 項目包結構中,不推薦將類建在default package下,并應該盡量避免它。建議遵循Java包命名規范,使用反轉域名作為包路徑的根包,例如:cn.chace.www。
  • 通常建議將應用的main類放在根包下。如下所示。main類放在根包下,@ComponentScan默認會掃描根包下的所有標有@Component、@Service等Spring組件類。main類放在根包下,可以使用@SpringBootApplication注解。通常使用 @EnableAutoConfiguration 注解你的 main類,并且暗地里為某些項定義了一個基礎“search package”。例如,如果你正在編寫一個JPA應用,被@EnableAutoConfiguration注解的類所在包將被用來搜索 @Entity 項。
  • 項目的啟動類

    Spring的常用的配置方式有XML和Java類兩種。Spring Boot建議使用Java配置的方式,并用@Configuration類作為主要源,通常定義main方法的類是主要源的一個很好候選。

    筆者之前使用的是XML的配置方式,項目里會有多個Spring的xml配置文件,但applicationContext.xml會import其他的配置文件,其實這就相當于主要源。

    @Configuration @EnableAutoConfiguration @ComponentScan public class Application {public static void main(String[] args) throws Exception {SpringApplication.run(Application.class, args);} }

    參見上面的代碼,綜合上述的內容,可以看出通常一個Spring Boot應用,需要一個啟動的入口,我們可以稱為啟動類,它包含main方法,負責SpringApplication.run()方法來運行應用。@Configuration標識啟動類作為主要配置源。由于啟動類位于根包下,@ComponentScan不需要配置basePackage屬性,默認掃描根包下的所有Spring組件類,包括其他的@Configuration類。@EnableAutoConfiguration注解可以根據我們依賴的包,推測并自動配置相關的內容以供使用。這也是上篇文章中快速示例的代碼,會如此簡潔,幾乎0配置便可運行應用的原因!

    Spring配置方式

    這里其實牽涉到Spring Java配置方式的應用,所以建議大家去熟悉一下該方面的內容。

    有人會問,如果我確實需要xml配置文件呢?我們不排除特殊情況下Java配置方式無解的時刻,你當然可以導入xml配置內容。只需要在@Configuration類上使用@ImportResource注解即可。

    雖然筆者以往習慣使用xml配置方式,但也不由自主地下定決定盡量轉向Java配置方式,以符合Spring Boot使用習慣,使用xml配置作為輔助手段。

    剛才上面筆者提到了@EnableAutoConfiguration具有自動配置的“神奇特效”。但有時自動配置的內容并非我們所期望的那樣,我們完全可以自定義相同的內容去覆蓋自動配置中的那些。

    你只需要打開控制臺輸出的debug日志,即可看到一份自動配置報告,列出了所有的自動配置項。如何輸出debug日志,可參考筆者的另一篇文章。

    如果發現應用了你不想要的特定自動配置類,你可以使用@EnableAutoConfiguration注解的排除屬性來禁用它們。

    @Configuration @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class MyConfiguration { }

    @ComponentScan注解會掃描到Spring組件并自動注冊bean,需要使用的時候跟平常一樣,使用@Autowired等注解直接標注即可。

    一般情況下,很多Spring Boot開發者總是使用@Configuration,@EnableAutoConfiguration和@ComponentScan注解他們的main類的。如果你遵循了上述建言更是如此。因此為了方便,Spring Boot提供了@SpringBootApplication注解,它就相當于@Configuration,@EnableAutoConfiguration和@ComponentScan注解,一個頂三個!那么我們的啟動類更簡單了。

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

    轉載于:https://my.oschina.net/angerbaby/blog/551501

    總結

    以上是生活随笔為你收集整理的Spring Boot学习笔记-实践建言的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。