springMVC 使用注解注入接口實現類


spring常用的注釋:
 
@Component:標准一個普通的spring Bean類。
@Controller:標注一個控制器組件類。
@Service:標注一個業務邏輯組件類。
@Repository:標注一個DAO組件類

在代碼中注釋注入接口實現類時,

1.比如有一個接口如下: 

 
  1. 1 public interface Filter {  
    2     public String doFilter(String param);  
    3 }  

     

2.有如下接口實現類:

 
  1. 1 public class TimeFilter implements Filter {  
    2       
    3     @Override  
    4     public String doFilter(String param) {  
    5         return param.replace("aa", "bb");  
    6     }  
    7   
    8 }  

     

3.使用方式:在接口實現類定義位置添加注解 @Service("timeFilter"),如下:

  1.  1 import org.springframework.stereotype.Service;  
     2 @Service("timeFilter")  
     3 public class TimeFilter implements Filter {  
     4       
     5     @Override  
     6     public String doFilter(String param) {  
     7         return param.replace("aa", "bb");  
     8     }  
     9   
    10 }  

4.在需要注入的地方使用如下方式引入:

    @Autowired
    @Qualifier("timeFilter")
    Filter timeFilter;

 

注意:

1.在引用實現類的時候,使用的是實現類的接口(這是因為 springMVC 代理的接口)。

2.在引用實現類的時候,需要使用@Qualifier 注解,注明使用哪個名稱的實現類(用來區分哪一個實例),當接口有且只有一個實現類時可以不注明其類名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM