如果我将 Lombok 连接到项目,如何使用 @autowired 注释注入 bean?
这些链接上的答案似乎不稳定(支持?):
它似乎@RequiredArgsConstructor不适用于下面的代码.为什么?
import java.io.Serializable;
import lombok.Data;
import lombok.RequiredArgsConstructor;
@Data
@RequiredArgsConstructor
public class User implements Serializable {
private String username;
/*public User(String username) {
this.username = username;
}*/
private static final long serialVersionUID = 8043545738660721361L;
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
javax.faces.el.EvaluationException: java.lang.Error: Unresolved compilation problem:
The constructor User(String) is undefined
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它似乎适用于其他没有构造函数定义但是使用@RequiredArgsConstructor注释的域类.
我正在开发Java Spring应用程序。我的应用程序中有一些使用.yml配置文件配置的字段。我想在有关字段上使用@Value注释导入这些值。我还想使用构造函数注入的最佳实践,而不是使用字段注入,但是我想使用Lombok而不是手动编写我的构造函数。有什么办法可以一次完成所有这些事情?例如,这不起作用,但与我想要执行的操作类似:
@AllArgsConstructor
public class my service {
@Value("${my.config.value}")
private String myField;
private Object myDependency;
...
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想要的是Lombok生成仅设置myDependency的构造函数,并使myField从配置文件中读取。
谢谢!