@Qualifier用处

@Qualifier用处

1. @Qualifier作用为限定描述符,用于细粒度选择候选者,说人话就是注入的时候可能发现有多个可注入对象,比如说一个Service接口有3个实现类,分别为impl1,impl2,impl3,你注入service的时候注入的是接口,那么就可以通过@Qualifier(“你要注入的bean的名称”)来选择注入对象。
2. 实例:
Service接口


public interface IMenuService {
	/**
	 * 获取所有菜单列表
	 * 
	 * @return List
	 */
	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;

你可能感兴趣的:(#,SpringBoot)