繁体   English   中英

在Lombok中将String Bean资源作为AllArgsConstructor传递

[英]Passing a String Bean Resource as AllArgsConstructor in Lombok

我使用Lombok提供的@RequiredArgsConstructor(onConstructor = @__(@Autowired))来传递构造函数的所有自动装配字段。 我有一个字符串字段,我也想传递。 有没有一种方法可以使用@RequiredArgsConstructor传递?

例如:

我有:

@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public ClassA {
    private final DependencyA dependencyA;
    private final DependencyB dependencyB;
    private String config; //this won't work.

} 

通常我会这样做:

@Component
   public classA {
       @Autowired
       private DependencyA dependencyA;
       @Autowired
       private DependencyB dependencyB;
       @Resource(name = ConfigClass.DEPENDENCY_C)
       private String config;
    }

    class ConfigClass {
        public final static String DEPENDENCY_C = "xyz";

        @BEAN(name = DEPENDENCY_C) 
        public String getDependencyC() {
        }

    }

这是因为未将String标记为final。 使其最终,它将起作用。 请参考https://projectlombok.org/api/lombok/RequiredArgsConstructor.html

private final String config;

注意:AllArgsConstructor会创建所有参数构造函数,而与最终字段无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM