springMVC 使用注解注入接口实现类
https://www.cnblogs.com/haw2106/p/9051381.html
spring常用的注释:
@Component:标准一个普通的spring Bean类。
@Controller:标注一个控制器组件类。
@Service:标注一个业务逻辑组件类。
@Repository:标注一个DAO组件类
在代码中注释注入接口实现类时,
1.比如有一个接口如下:
1 public interface Filter {
2 public String doFilter(String param);
3 }
2.有如下接口实现类:
复制代码
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 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 注解,注明使用哪个名称的实现类(用来区分哪一个实例),当接口有且只有一个实现类时可以不注明其类名。
转载请注明:SuperIT » springMVC 使用注解注入接口实现类