使用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産生沖突,導緻反射不生效。