对于IDEA的Getter和Setter的生成,IDEA可以使用Velocity语法编写代码生成的模板。
    我们可以编写一个链式赋值的模板,API调用起来就像这样: obj = obj.withName(name).withSex(sex);
    模板代码如下:

    1. #set($paramName = $helper.getParamName($field, $project))
    2. public ##
    3. #if($field.modifierStatic)
    4. static void ##
    5. #else
    6. $classSignature ##
    7. #end
    8. with$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
    9. #if ($field.name == $paramName)
    10. #if (!$field.modifierStatic)
    11. this.##
    12. #else
    13. $classname.##
    14. #end
    15. #end
    16. $field.name = $paramName;
    17. #if(!$field.modifierStatic)
    18. return this;
    19. #end
    20. }

    参考链接: