![](/img/trans.png)
[英]GWT Implementing Serializable - Private Default-Constructor
[英]Lombok with default-constructor
我有一個這樣的課:
@Service("aSpringService")
@RequiredArgsConstructor(onConstructor = @__({@Autowired}))
public class ServiceImpl implements Service {
@NonNull
private final Member1 m1;
@NonNull
private final Member2 m2;
@NonNull
private final Member3 m3;
}
構造函數將由Lombok創建,在運行時,spring會將成員注入構造函數。 現在我需要一個設置方法,並堅持使用lombok。 看來,龍目島不能稱之為自編的東西。
我想要一個像useDefaultConstructor
這樣的Lombok-Annotation的新參數。 當存在此參數時,自動代碼(來自Lombok)將調用無參數構造函數,我可以為自己編寫。
@RequiredArgsConstructor(onConstructor = @__({@Autowired}), useDefaultConstructor = true)
// Note the "useDefaultConstructor = true"
public class ServiceImpl implements Service {
@NonNull
private final Member1 m1;
private ServiceImpl() {
//some self-written setup-code
}
}
生成的類:
public class ServiceImpl implements Service {
private final Member1 m1;
// This constructor is not generated by lombok
private ServiceImpl() {
//some self-written setup-code
}
// Constructor generated by lombok
@Autowired
public ServiceImpl(Member1 m1) {
this(); // <- only created when "useDefaultConstructor" is present
this.m1 = m1;
}
}
有沒有辦法用lombok做到這一點? 我懶得為自己編寫構造函數(並且每當需要一個新的spring-member時更改它)。
你試過Spring @PostConstruct
注釋嗎?
@PostConstruct
public void init() {
// setup-code
}
它是Spring的bean生命周期管理的一部分 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.