使用Spring 框架的 Java 開發人員註解備忘單

這是我參與8月更文挑戰的第6天,活動詳情查看:8月更文挑戰git

最近收集了開發人員使用的有用的註解,並將它們打包到這篇 Spring 註解備忘單中。從啓動項目所需的基本註解,到服務發現註解,我已經爲您提供了幫助。github

重要的 Spring 註解

如下是任何使用 Spring 的 Java 開發人員都應該知道的最重要的註解:spring

  • @Configuration  - 用於將類標記爲 bean 定義的來源。Bean 是您想要鏈接在一塊兒的系統組件。用@Bean 批註標記的方法是 bean 生產者。Spring 將爲您處理 bean 的生命週期,而且它將使用這些方法來建立 bean。
  • @ComponentScan - 用於確保 Spring 知道您的配置類而且能夠正確初始化 bean。它使 Spring 掃描爲 @Configuration 類配置的包。
  • @Import -  若是您須要更精確地控制配置類,您始終可使用 @import 加載其餘配置。即便您像 1999 年那樣在 XML 文件中指定 bean,此方法也能正常工做。
  • @Component  - 另外一種聲明 bean 的方法是用 @Component 註解標記一個類。這樣作會在自動掃描時將類轉換爲 Spring bean。
  • **@Service -**標記 @Component 的特化。它告訴 Spring 比常規組件更自由地管理它們是安全的。請記住,服務沒有封裝狀態。
  • @Autowired - 要將應用程序部分鏈接在一塊兒,請在組件中的字段、構造函數或方法上使用 @Autowired。Spring 的依賴注入機制將適當的 bean 鏈接到用 @Autowired 標記的類成員中。
  • @Bean - 一個方法級別的註解,用於指定由 Spring 上下文管理的返回 bean。返回的 bean 與工廠方法具備相同的名稱。
  • @Lookup - 告訴 Spring 在咱們調用它時返回該方法的返回類型的實例。
  • @Primary - 當有多個相同類型的 bean 時,優先考慮一個 bean。
  • @Required - 代表必須將 setter 方法配置爲在配置時使用值進行依賴注入。在 setter 方法上使用 @Required 來標記經過 XML 填充的依賴項。不然,拋出 BeanInitializationException。
  • @Value - 用於將值分配給 Spring 管理的 bean 中的字段。它與構造函數、setter 和字段注入兼容。
  • @Lazy - 使 bean 延遲初始化。@Lazy 註解可用於任何直接或間接用@Component 註解的類或用@Bean 註解的方法。
  • @Scope - 用於定義 @Component 類或 @Bean 定義的範圍,能夠是單例、原型、請求、會話、全局會話或自定義範圍。
  • @Profile - 僅當該配置文件處於活動狀態時才嚮應用程序添加 bean。

有了這些註解,您能夠輕鬆地將應用程序組合在一塊兒。固然,您可能想要使用更多的 Spring 註解,但這些是框架的核心,它實現了 Spring 衆所周知的靈活性!後端

重要的 Spring Boot 註解

讓咱們看一下 Web 應用程序中一些最經常使用的註解。普及使 Web 開發更容易的 Spring Framework 註解是有意義的。安全

@SpringBootApplication

最基本和最有用的註解之一是 @SpringBootApplication。它是組合其餘註解的語法糖,咱們稍後將介紹。@SpringBootApplication 是 @Configuration@EnableAutoConfiguration@ComponentScan註解的組合,配置了它們的默認屬性。markdown

@Configuration 和 @ComponentScan

咱們上面描述的@Configuration 和@ComponentScan 註解使Spring 建立和配置應用程序的bean 和組件。這是將實際業務邏輯代碼與將應用程序鏈接在一塊兒的好方法。app

@EnableAutoConfiguration

如今 @EnableAutoConfiguration註解更好。它讓 Spring 根據類路徑上可用的 JAR 文件猜想配置。它能夠找出您使用的庫並預先配置它們的組件,而無需您動動手指。這就是全部 spring-boot-starter 庫的工做方式。這意味着當您剛開始使用庫時以及當您知道並相信默認配置是合理的時,它都是一個主要的救星。框架

重要的 Spring MVC Web 註解

如下註解使 Spring 將您的應用程序配置爲可以提供 HTTP 響應的 Web 應用程序。svn

  • @Controller - 將該類標記爲 Web 控制器,可以處理 HTTP 請求。Spring會查看用@Controller註解標記的類的方法,並創建路由表來知道哪些方法服務於哪些端點。
  • @ResponseBody - @ResponseBody 是一個實用程序註解,它使 Spring 將方法的返回值綁定到 HTTP 響應正文。在構建 JSON 端點時,這是一種神奇的方式,能夠將您的對象神奇地轉換爲 JSON 以便於使用。
  • @RestController - 而後是@RestController 註解,這是@Controller 和@ResponseBody 一塊兒使用的便捷語法。這意味着標記類中的全部操做方法都將返回 JSON 響應。
  • @RequestMapping(method = RequestMethod.GET, value = "/path") - @RequestMapping(method = RequestMethod.GET, value = "/path") 註解指定控制器中的一個方法,該方法應該負責爲 HTTP 請求提供服務到給定的路徑。Spring 將處理它如何完成的實現細節。您只需在註解上指定路徑值,Spring 就會將請求路由到正確的操做方法中。
  • @RequestParam(value="name", defaultValue="World") - 固然,處理請求的方法可能須要參數。爲了幫助您將 HTTP 參數綁定到操做方法參數中,您可使用 @RequestParam(value="name", defaultValue="World") 註解。Spring 將解析請求參數並將適當的參數放入您的方法參數中。
  • @PathVariable("placeholderName") - 另外一種向後端提供信息的經常使用方法是在 URL 中對其進行編碼。而後,您可使用 @PathVariable("placeholderName") 註解將 URL 中的值帶到方法參數中。

最後想說的

在這篇文章中,咱們知道了 Java 開發人員在使用 Spring 框架時應該知道的許多註解。咱們已經介紹了最經常使用也多是最重要的註解——從爲組件啓用依賴注入的註解到綁定代碼以響應 HTTP 請求的方法。函數

我已經寫了很長一段時間的技術博客,這是個人一篇技術文章/教程。但願大家會喜歡!這裏彙總了個人所有原創及做品源碼:GitHub,還有這是我最近剛搭建的博客:haiyong.site,裏面還沒啥內容,放了一些HTML小遊戲,有興趣的能夠嘗試一下,源碼能夠本身F12複製,或者直接找我要。

若是你真的從這篇文章中學到了一些新東西,喜歡它,收藏它並與你的小夥伴分享。🤗最後,不要忘了❤或📑支持一下哦。

相關文章
相關標籤/搜索