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

  • 相关阅读:
    System.Web.Http.Cors配置跨域访问的两种方式
    asp.net反向代理
    web.config SetAttributes
    remove name="ProxyModule“会导致重复执行
    去空格
    api签名
    C# HttpWebRequest获取COOKIES
    Request.Form接收不到post数据.
    webapi文档工具
    https://gogs.io/
  • 原文地址:https://www.cnblogs.com/zhoading/p/11061868.html
Copyright © 2020-2023  润新知