クラスの 1 つに多数のコンストラクターがあるため、Bloch の「ビルダー パターン」を実装することをお勧めします ( http://www.informit.com/articles/article.aspx?p=1216151&seqNum=2を参照) 。クラスの1つ(Spring Project)。
クラスに対してテスト ケースを実行すると、「IllegalArgumentException」が発生するため、何かを見落としている可能性があります。Spring はこの種のものを許可しますか、それとも従来の複数のコンストラクター アプローチを選択するだけでよいでしょうか?
java.lang.IllegalArgumentException: No serializer found for class com.AllTweets$Builder and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: com.AllTweets["builder"])
at org.codehaus.jackson.map.ObjectMapper._convert(ObjectMapper.java:2502)
at org.codehaus.jackson.map.ObjectMapper.convertValue(ObjectMapper.java:2482)
at org.springframework.data.redis.hash.JacksonHashMapper.toHash(JacksonHashMapper.java:52)
at org.springframework.data.redis.hash.DecoratingStringHashMapper.toHash(DecoratingStringHashMapper.java:4
...
クラス
public class AllTweets implements Serializable{
....
public Builder getBuilder() {
return new Builder();
}
public static class Builder {
private AllTweets build;
public Builder() {
build = new AllTweets();
}
public Builder isTweet(Tweet tweet){
build.id = tweet.getId();
return this;
}
public Builder isRetweet(Retweet retweet){
build.id = retweet.getId();
return this;
}
public AllTweets build(){
return build;
}
//Acessors
}