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 注解,注明使用哪个名称的实现类(用来区分哪一个实例),当接口有且只有一个实现类时可以不注明其类名。

转载于:https://www.cnblogs.com/haw2106/p/9051381.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值