Spring + lombok+ @Qualifier使用-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Spring + lombok+ @Qualifier使用

简介: 虽然lombok 有很多缺点,但确实会减少很多代码。在Spring 中使用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产生冲突,导致反射不生效。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: