[英]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.