@Qualifier用处
1. @Qualifier作用为限定描述符,用于细粒度选择候选者,说人话就是注入的时候可能发现有多个可注入对象,比如说一个Service接口有3个实现类,分别为impl1,impl2,impl3,你注入service的时候注入的是接口,那么就可以通过@Qualifier(“你要注入的bean的名称”)来选择注入对象。
2. 实例:
Service接口
public interface IMenuService {
/**
* 获取所有菜单列表
*
* @return List<MenuEntity>
*/
public List<MenuEntity> getAllMenuList();
}
实现类1:
@Service("menuService1")
public class MenuServiceImpl implements IMenuService {
@Autowired
private MenuMapper mapper;
/**
* 获取所有菜单
*/
@Override
public List<MenuEntity> getAllMenuList() {
MenuEntityExample example = new MenuEntityExample();
long start = System.currentTimeMillis();
example.setDistinct(false);
List<MenuEntity> allMneuList = mapper.selectByExample(example);
}
实现类2:
@Service("menuService2")
public class MenuServiceImpl implements IMenuService {
/**
* 获取所有菜单
*/
@Override
public List<MenuEntity> getAllMenuList() {
return null;
}
注入menuService1:
@Autowired
@Qualifier("menuService1")
private IMenuService menuService;
注入menuService2:
@Autowired
@Qualifier("menuService2")
private IMenuService menuService;