IDEA设置生成带注释的getter和setter的图文教程
作者:陈先生丶 时间:2023-06-28 00:49:36
近日在研究重构代码的时候有用到idea的不少插件,比如CheckStyle,同时下载了阿里的开发规约,受到不少启发。
规约中会要求所有的方法都有Javadoc,但是通常我们用idea默认生成的getter和setter方法是不带注释的,当然,我们同样可以设置idea像MyEclipse一样生成带有Javadoc的模板,具体解决方案如下:
比如我们有这么一个pojo类:
/**
* 人类.
* @author eric
*/
public final class People {
/**
* 姓名.
*/
private String name;
/**
* 年龄.
*/
private Integer age;
}
这个时候我们按下 Alt + Insert (Windows),或者 Command + N (MacOS)来打开生成窗口:
这里我们选择Getter and Setter。
打开如下窗口:
我们点击如图箭头所示的地方,打开如下视图:
然后我们新建一个Template,点击图中的 "+" 号,然后输入名称(当然你可以起个自己喜欢的名称)
点击OK。之后在编辑区域复制粘贴如下代码:
/**
* Gets the value of $field.name
* @return the value of $field.name
*/
public ##
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#else
is##
#end
#else
get##
#end
${name}() {
return $field.name;
}
完毕后点击OK。
Setter的配置同上一致,我们只需将编辑区内的代码改下(当然Template Name也可以改下:D):
/**
* Sets the $field.name
* <p>You can use get$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))() to get the value of $field.name</p>
* @param $field.name $field.name
*/
#set($paramName = $helper.getParamName($field, $project))
public ##
#if($field.modifierStatic)
static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
}
下面就让我们来看下成果:
在这里注意要选择我们刚配置好的Template,而不是Default。
点击OK。
到这里算是大功告成了。
总结
以上所述是小编给大家介绍的IDEA设置生成带注释的getter和setter的图文教程网站的支持!
来源:https://www.cnblogs.com/chansblogs/p/9050246.html
标签:idea,getter,setter
0
投稿
猜你喜欢
Android中的LeakCanary的原理详解
2021-06-18 09:16:40
Android 自定义gradle property详解及实例代码
2022-05-08 15:17:49
SpringBoot打成war包在tomcat或wildfly下运行的方法
2023-11-23 08:20:56
使用Android studio创建的AIDL编译时找不到自定义类的解决办法
2023-06-23 10:59:41
详解C语言的mem系列函数
2021-07-10 13:10:18
C#操作目录与文件的方法步骤
2023-11-23 20:45:52
关于mybatis if else if 条件判断SQL片段表达式取值和拼接问题
2023-02-04 18:51:21
Spring七大事务传递机制深入分析实现原理
2022-12-21 16:28:37
Android开发实现的计时器功能示例
2023-09-04 07:33:33
Winform利用分页控件实现导出PDF文档功能
2023-08-11 10:15:04
idea创建javaweb原生项目的实现示例
2023-06-16 05:40:35
c# 基于wpf,开发OFD电子文档阅读器
2023-09-08 00:10:02
基于TabLayout中的Tab间隔设置方法(实例讲解)
2023-12-05 06:56:10
java实现将结果集封装到List中的方法
2021-10-27 22:29:45
Java如何解决发送Post请求报Stream closed问题
2021-12-12 04:20:10
java注解结合aspectj AOP进行日志打印的操作
2023-10-23 14:02:53
android实现将位置信息写入JPEG图片文件
2023-04-16 21:26:00
浅谈对Java双冒号::的理解
2023-09-20 02:19:21
springboot启动扫描不到dao层接口的解决方案
2021-06-29 19:56:06
Mybatis-Plus的多数据源你了解吗
2023-07-22 00:46:59