天天看點

Spring + lombok+ @Qualifier使用使用lombok 之前使用lombok總結

使用lombok 之前

@Service("customer")
@Slf4j
public class CustomerService {
    @Qualifier("curtaoRestClient")
    private final RestHighLevelClient restClient;
    private final ConstructorEsUtil constructorEsUtil;
    private final RequestFunction requestFunction;
    private final ConfService confService;

    @Autowired
    public CustomerService(@Qualifier("devRestClient") RestHighLevelClient restClient,
            ConstructorEsUtil constructorEsUtil, RequestFunction requestFunction, ConfService confService) {
        this.restClient = restClient;
        this.constructorEsUtil = constructorEsUtil;
        this.requestFunction = requestFunction;
        this.confService= confService;
    }
           

使用lombok

@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CustomerService {
@Qualifier(“devRestClient”)
private final RestHighLevelClient restClient;
private final ConstructorEsUtil constructorEsUtil;
private final RequestFunction requestFunction;
private final RealmConfService realmConfService;

}
           

由于支援 @Qualifier注解,需要在項目的根路徑中加入配置:lombok.config

lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier
           

總結

lombok 更多新特點可以參考官方文檔,在涉及反射的地方使用lombok必須要謹慎,以免與lombok産生沖突,導緻反射不生效。