1. 程式人生 > >15 Spring核心註釋示例

15 Spring核心註釋示例

我們經常將這些稱為“Spring核心註釋”,我們將在本文中對它們進行稽核。

這是所有已知的Spring核心註釋的列表。

圖片標題

@Autowired

我們可以使用  @Autowired 註釋  來標記Spring將要解析和注入的依賴關係。我們可以將這個註釋與建構函式,setter或欄位注入一起使用。

建構函式注入:

@RestController
公共 類 CustomerController {
    私人 CustomerService  customerService ;

    @Autowired
    public  CustomerController(CustomerService  customerService){
        這個。customerService  =  customerService ;
    }
}


二傳手注射:

進口 組織。彈簧框架。豆子。工廠。註釋。自動裝配 ;
進口 組織。彈簧框架。網路。繫結。註釋。RestController ;

@RestController
公共 類 CustomerController {
    私人 CustomerService  customerService ;

    @Autowired
    public  void  setCustomerService(CustomerService  customerService){
        這個。customerService  =  customerService ;
    }
}


現場注入:

進口 組織。彈簧框架。豆子。工廠。註釋。自動裝配 ;
進口 組織。彈簧框架。網路。繫結。註釋。RestController ;

@RestController
公共 類 CustomerController {
    @Autowired
    私人 CustomerService  customerService ;
}
有關更多詳細資訊,請訪問我們關於 @Autowired 和  Spring依賴注入指南的 文章

@豆

  •  @Bean 是方法級註釋和XML元素的直接模擬。註釋支援一些提供的屬性,例如init-method,destroy-method,auto-wiring和name。

  • 您可以在帶@Bean 註釋@Configuration或帶  註釋的@Component類中使用   註釋   

以下是@Bean方法宣告的簡單示例  

進口 組織。彈簧框架。背景。註釋。豆 ;
進口 組織。彈簧框架。背景。註釋。配置 ;

進口 com。公司名稱。projectname。客戶。客戶服務 ;
進口 com。公司名稱。projectname。訂單。OrderService ;

@組態
公共 類 申請 {

    @豆
    public  CustomerService  customerService(){
        返回 new  CustomerService();
    }

    @豆
    public  OrderService  orderService(){
        返回 新的 OrderService();
    }
}


上述配置等效於以下Spring XML:

< beans >
        < bean  id = “customerService”  class = “com.companyname.projectname.CustomerService” />
        < bean  id = “orderService”  class = “com.companyname.projectname.OrderService” />
</ beans >
閱讀 @Bean  本文中有關註釋的  更多資訊   Spring @Bean Annotation with Example

@Qualifier

此註釋有助於微調基於註釋的自動佈線。可能存在這樣的情況:我們建立多個相同型別的bean,並且只想使用屬性連線其中一個bean。這可以使用@Qualifier 註釋和   @Autowired 註釋來控制  

示例:考慮使用  EmailService 和  SMSService 類來實現單個   MessageService 介面。

MessageService 為多個訊息服務實現建立  介面。

公共 介面 MessageService {
    public  void  sendMsg(String  message);
}


接下來,建立實現:   EmailService 和  SMSService

公共 類 EmailService  實現 MessageService {

    public  void  sendMsg(String  message){
         系統。出。println(訊息);
    }
}


公共 類 SMSService  實現 MessageService {

    public  void  sendMsg(String  message){
         系統。出。println(訊息);
    }
}


是時候看看@Qualifier 註釋的用法了  

公共 介面 MessageProcessor {
    public  void  processMsg(String  message);
}

公共 類 MessageProcessorImpl  實現 MessageProcessor {

    private  MessageService  messageService ;

    //基於setter的DI
    @Autowired
    @Qualifier(“emailService”)
    public  void  setMessageService(MessageService  messageService){
        這個。messageService  =  messageService ;
    }

    //基於建構函式的DI
    @Autowired
    public  MessageProcessorImpl(@Qualifier(“emailService”)MessageService  messageService){
        這個。messageService  =  messageService ;
    }

    public  void  processMsg(String  message){
        messageService。sendMsg(message);
    }
}
在本文中閱讀有關此註釋的更多資訊:   Spring @Qualifier Annotation示例

@需要

的  @Required 註釋是一個方法級註釋和施加到bean的setter方法。

此註釋僅指示必須將setter方法配置為在配置時使用值依賴注入。

例如,  @Required setter方法標記了我們想要通過XML填充的依賴項:

@需要
void  setColor(String  color){
    這個。color  =  color ;
}


< bean  class = “com.javaguides.spring.Car” >
    < property  name = “color”  value = “green”  />
</ bean >


否則,   BeanInitializationException 將被丟擲。

@值

Spring  @Value 註釋用於為變數和方法引數指定預設值。我們可以使用@Value 註釋來讀取Spring環境變數以及系統變數  

Spring  @Value 註釋也支援SpEL。讓我們看一下使用@Value 註釋的一些示例  

示例:我們可以使用@Value 註釋為類屬性指定預設值  

@Value(“預設DBConfiguration”)
private  String  defaultName ;


該  @Value 註釋引數可以是隻有字串,但春天嘗試將其轉換為指定的型別。以下程式碼將正常工作,並將布林值和整數值分配給變數。

@Value(“true”)
            
           

相關推薦

15 Spring核心註釋示例

我們經常將這些稱為“Spring核心註釋”,我們將在本文中對它們進行稽核。 這是所有已知的Spring核心註釋的列表。 @Autowired 我們可以使用  @Autowired 註釋  來標記Spring將要解析和注入的依賴關係。我們可以將這個

15Spring核心註釋示例

眾所周知,Spring DI和Spring IOC是Spring Framework的核心概念。讓我們從org.springframework.beans.factory.annotation和org.springframework.context.annotation包中探索一些Sprin

spring核心的兩個主要部分

pri aop ring 編程 align font pre bsp 而是 一、spring兩大核心內容 1、aop : 面向切面編程 。 擴展功能不是修改源代碼實現。 2、ioc : 控制反轉 。 --比如一個類,在類裏面有方法(非靜態的方法),如果要調用類裏面的方法,需

Spring---核心

保持 高度 spring容器 三方 files 時代 com 容易 image 作為一個JAVA程序員來說,現在是最好的時代,也是最壞的時代。好,指的是現在市場上有很多的新技術,對於追求新技術的愛好者來說,無疑是利好的資源;壞,指的是對於剛步入市場的小雛鳥來

Spring核心之IOC

方法 思想 void private 需要 耦合 spring static blog IOC是Spring的兩大核心之一:IOC的核心就是解耦。   舉個例子:有2個班級可以上課,校長指定老師去上課,代碼如下    package com.hongcong.test;

Spring核心思想的簡單實現

spring核心思想的簡單實現//準備工作//==================================================================================================================package com.ys.ser

Spring核心框架:

repo clas const 指定 let struts init 方法 str 核心配置器的關鍵詞: 1.id、2.name、3.init-method=“init”/PostConStruts(初始化方法)、4.destroy-method=“destroy”(銷毀方

(一)《Spring實戰》——Spring核心

有意 技術分享 似的 簡單的 pix 發布應用 .com span size 《Spring實戰》(第4版)      第一章:Spring之旅      1. 簡化Java開發 為了降低Java開發的復雜性,Spring采取了以下4種關鍵策略: 基於POJ

(二)《Spring實戰》——Spring核心

gpo fin 接受 控制臺 應用程序 xsd 為我 Coding 3.2 第二章:裝配Bean 在Spring中,對象無需自己查找或創建與其所關聯的其他對象。相反,容器負責把需要相互協作的對象引用賦予各個對象。例如,一個訂單管理組件需要信用卡認證組件,但它不需要自己

Spring實戰筆記:Spring核心(一)

spring bean spring core一.簡介: 1.依賴註入(DI) 優點:解耦 Spring 通過應用上下文(Application Context)裝載bean的定義,並把它們組裝起來。 Spring應用上下文負責對象的創建和組裝。 ClassPathXm

Spring aop 簡單示例

http () demo cut cti throwable ack 切面 aspectj package com.yangxin.core.transaction; import org.aspectj.lang.ProceedingJoinPoint; import

spring boot參考示例

TE ping AR IT enc conf resp 分享 ica 庫配置 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->

Spring核心——Bean的定義與控制

-m 系統 註解 col war 2種 情況下 framework F5 在前面兩篇介紹Sring核心與設計模式的文章中,分別介紹了Ioc容器和Bean的依賴關系。如果閱讀過前2文就會知道,Spring的整個運轉機制就是圍繞著IoC容器以及Bean展開的。IoC就是一個籃子

IDEA+Maven+Spring MVC HelloWorld示例

-type rop 相同 bin urn public mapping web.xml www 用Maven創建Web項目 選擇webapp模板 創建成功後點Enable Auto-Import idea給我們創建出來的結構是這樣的,這還不標準,需要自己修改。 在m

Angular6學習筆記15核心知識-模組(NgModule)

模組(NgModule) 繼學習筆記14,可以大概的知道Angular的大概架構,現在在一一深入瞭解。 Angular的應用,會將整個應用進行模組化處理,即:將一個應用分成幾個模組,一個應用,至少有一個模組(AppModule-根模組),簡答的講,一個模組,就是一個容器,存放一些內聚的程式碼

Linux4.15.10核心編譯之路

Linux4.15.10核心編譯之路 編譯Linux核心4.15.10,虛擬機器VMware Workstation 12 Player,Ubuntu版本16.04 PS:個人感覺比較幸運,有前人的各種部落格指導,以至於沒有遇到解決不了的問題,因此也沒有花費過多的時間。 我覺得還是按照自己遇到

第十五講:15 spring整合S2SH案例程式碼

1,spring4支援泛型注入,dao層非常簡化。User實體類,dao介面,dao實現類,service介面(下載地址:連結:https://pan.baidu.com/s/1PJhLcylNTWcV4nqtikUhKQ 密碼:harp)略。 service實現類: package co

Spring 核心概念

初識 Spring   框架可以幫助我們構建規範的、優秀的應用程式,簡化煩瑣的編碼過程。   Spring 是一個非常著名的輕量級的企業級開源框架,Spring 的目標是使 Java EE 更易用並促進良好的程式設計習慣。到今天,Spring 已經發展成為一個功能豐富而且易用的整合框架,其核心是一個完整的

15 Spring Bean裝配

Spring Bean 1. Bean配置 2. Bean作用域 3. Bean生命週期 3.1 Bean初始化 實現 InitializingBean 介面 配置ini

Spring Security Oauth2 示例

所有示例的依賴如下(均是SpringBoot專案) pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <