IDEA类和方法注释模板设置-保姆教程

        在讲解怎么设置类和方法注释模板前,先简单介绍下Javadoc 标准,因为注释规范,最终和Javadoc 标准契合,效果最好,不仅方便后续出接口文档描述,也是业界的统一标准,更易于接受。

目录

Javadoc 标准标签列表

类注释设置

方法注释设置

 


Javadoc 标准标签列表

标签名

用途说明

@author

指定类、接口或方法的作者

@version

指定类、接口的版本信息

@since

表示该类或方法从哪个版本开始存在一般就记录时间)

@see

添加一个“参见”链接,可以是其他类、方法或 URL

@param

描述方法参数的含义

@return

描述方法返回值的意义

@throws/@exception

描述方法可能抛出的异常

@deprecated

标记类、方法或字段已过时,建议使用替代项

@link

在注释中插入对其他类、方法或字段的内联链接(常用于详细说明中)

@code

将文本以代码格式展示,不会被解析为 HTML 或 Javadoc 标签

@serial

用于描述序列化字段的行为(主要用于 Serializable 类)

@serialField

用于描述序列化对象的字段(通常在 writeObject/readObject 方法中使用)

@serialData

描述写入流的数据(通常在 writeObject 方法中使用)

(1)@BelongsProject:当前项目的名称可选,笔者自定的所属项目标签)

(2)@BelongsPackage:当前包的名称可选,笔者自定的所属包标签)

类注释设置

设置步骤:File-->settings-->Editor-->File and Code Templates-->Files

复制下面的规则模板即可:(一般去掉了标签后面的:)

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};

#end
#parse("File Header.java")
/**
* TODO:功能描述
*@author Tom
*@version 1.0
*@since ${YEAR}-${MONTH}-${DAY}  ${HOUR}:${MINUTE}
*@BelongsProject ${PROJECT_NAME}
*@BelongsPackage ${PACKAGE_NAME}
*/
public class ${NAME} {
}

效果如下:每次创建新类后,修改作者和功能描述说明即可

/**
 * TODO:功能描述
 *
 * @author Tom
 * @version 1.0
 * @since 2022-07-03  15:37
 * @BelongsProject tome
 * @BelongsPackage com.ys.soft.tome.controller
 */
public class ControllerTest {
}

方法注释设置

1、创建模板 
IDEA还没有智能到自动为我们创建方法注释,这就是要我们手动为方法添加注释,我们的习惯是 /**+Enter,这里我们也按照这种习惯来设置IDEA的方法注释

1、File-->Settings-->Editor-->Live Templates

 (1)新建组:命名为methodGroup

(2)新建模板:选中你刚才创建的组,然后右上角新建模板,命名为* 

        因为IDEA生成注释的默认方式是:/*+模板名+快捷键(比如若设置模板名为add快捷键用Tab,则生成方式为: /*add+Tab),如果不采用这样的生成方式IDEA中没有内容的方法将不可用,例如获取方法参数的methodParameters()、获取方法返回值的methodReturnType()

 2、设置模板内容-IDEA格式模板
 注意第一行,只有一个*而不是/*

在设置参数名时必须用${参数名}$的方式,否则第五步中读取不到你设置的参数名

直接复制下面的模板代码:(标签后:已经去掉

*
 * TODO:方法功能描述
 * @author Tom 
 * @since $date$ $time$
 * @param $param$
 * @return $return$
 **/

4、设置模板应用场景
点击模板页面最下方的警告,来设置将模板应用于那些场景,一般选择EveryWhere-->Java即可

(如果曾经修改过,则显示为change而不是define)

第一次是Define,如下:

按下面的图片勾选Java相关选项:直接全选即可

5、设置参数
把右侧的Expand with:改为Enter ;

PS:第4步和第5步顺序不可颠倒,否则第5步将获取不到方法

然后选择右侧的Edit variables按钮

 1、IDEA格式的模板只需要为每个参数选择对应的方法即可:

方法名:
date()
time()
methodParameters()
methodReturnType()

 2、设置成功后点击OK,返回项目新建一个方法,写完入参和返回值以后,在方法上面:

         敲出:/** 回车

5、JavaDoc格式
 该格式和IDEA格式略有不同:(@param      @return)

(1)返回上面第二步中的格式设置:输入下面代码(注意格式

*
 * TODO:方法功能描述
 * @author Tom 
 * @since $date$ $time$ $param$ $return$
 **/


(2)参数设置(JavaDoc格式的需要自定义参数以及返回值的实现方式)

获取参数实现方式:

groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())

返回值实现方式:

groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())


如果返回值不想有包路径,可以使用下面这个参数: 

groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';};  def p1=params[i].split(',').toList();  for(i2 = 0; i2 < p1.size(); i2++) { def p2=p1[i2].split('\\\\.').toList();  result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','}  } ;  };  return result", methodReturnType())


  (3)设置成功后点击OK,返回项目新建一个方法,写完入参和返回值以后,在方法上面:

         敲出:/** 回车

        然后会显示:(注意param参数)

<think>好的,用户想了解关于“Java项目实战-城市公园信息管理系统”的保姆级操作指南。首先,我需要确定用户的需求是什么。他们可能是一个刚开始学习Java的学生,或者是一个需要完成项目的开发者,想要一个详细的步骤说明来搭建这样一个系统。 首先,我得考虑这个系统的基本功能模块。城市公园信息管理系统通常包括公园信息管理、设施管理、游客管理、预约管理、公告管理这些模块。接下来,用户可能需要知道技术选型,比如使用什么框架,数据库选什么,前端技术等。常见的Java技术栈有Spring Boot、MyBatis、MySQL、Thymeleaf或者Vue.js等。需要分清楚后端前端的技术选择。 然后,环境搭建是关键。用户可能需要详细的步骤来安装JDK、Maven、IDE(比如IntelliJ IDEA)、MySQLNavicat。这些步骤需要详细但简洁,避免让用户感到困惑。比如安装JDK时要配置环境变量,安装Maven要设置镜像源,这些细节不能遗漏。 接下来是项目创建步骤。使用Spring Initializr生成项目,添加依赖,配置数据库连接,创建目录结构。这部分需要具体说明勾选哪些依赖,比如Spring Web、MyBatis、MySQL Driver,以及配置文件application.properties的设置。 数据库设计部分需要列出主要的表结构,比如公园表、设施表、游客表、预约表、公告表,并给出SQL示例。这部分可能需要用户有一定的SQL基础,但作为保姆教程,应该提供详细的建表语句,包括字段注释。 核心功能实现需要分模块讲解,每个模块的Controller、Service、Mapper层的代码示例。比如公园信息管理的实体、Mapper接口、Service层Controller层的代码。需要确保代码示例正确,并且符合Spring BootMyBatis的规范。特别是MyBatis的注解方式或者XML配置方式的选择,这里可能需要统一。 前端部分如果用Thymeleaf,需要提供HTML模板的示例,包括表单列表展示。如果用Vue.js,可能需要讲解前后端分离的接口调用,但考虑到用户可能需要简单实现,可能先以Thymeleaf为例更合适。 测试环节要指导用户如何启动项目,访问不同功能的URL,并进行CRUD操作测试。需要提醒常见问题,比如端口冲突、数据库连接失败、依赖缺失等,并给出解决方法。 部署上线可能需要介绍打包成JAR使用Tomcat部署两种方式,但根据用户水平,可能暂时不需要太复杂的部署步骤,简单说明即可。 最后,项目扩展部分可以给出一些扩展方向,比如增加地图API、数据分析、移动端适配,帮助用户进一步学习。 在整理这些步骤时,需要注意用户的可能疑问点,比如环境变量配置、依赖冲突、数据库连接配置错误,这些都是常见问题,需要提前给出解决方案。同时,代码示例要准确,避免语法错误,比如MyBatis的注解是否正确,Controller的映射路径是否合理。 另外,用户可能对某些概念不熟悉,比如MVC模式、三层架构,是否需要简要解释?考虑到是保姆教程,可能需要稍微提及,但重点放在操作步骤上,确保用户可以跟着一步步完成。 需要检查是否所有技术选型都是当前主流的,比如Spring Boot 3.x可能需要Java 17,是否用户的环境支持?如果用户使用Java 8,可能需要调整版本。这一点可能需要提醒用户注意版本兼容性。 总的来说,回答需要结构清晰,分步骤讲解,每个步骤详细但不过于冗长,代码示例正确,并且考虑到初学者的常见问题,提供解决方案。这样用户才能按照指南顺利搭建起项目,理解各个模块的实现过程。</think>以下是为您整理的《Java项目实战-城市公园信息管理系统》保姆开发指南,按实际开发流程分步讲解: --- ### 一、项目基础架构 #### 1. 技术选型 ```markdown - 后端:Spring Boot 2.7.x + MyBatis-Plus 3.5.x - 数据库:MySQL 8.0 + Redis 6.x - 前端:Thymeleaf + Bootstrap 5 - 工具:Maven 3.8 + JDK 11 ``` #### 2. 环境搭建 ```bash # 1. 安装JDK并配置环境变量 JAVA_HOME=C:\Program Files\Java\jdk-11.0.15 # 2. Maven配置阿里云镜像 <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> ``` --- ### 二、项目创建步骤 #### 1. 初始化Spring Boot项目 通过 [start.spring.io](https://start.spring.io) 勾选: ``` - Spring Web - MyBatis Framework - MySQL Driver - Thymeleaf ``` #### 2. 配置数据库连接 ```properties # application.properties spring.datasource.url=jdbc:mysql://localhost:3306/park_db?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` --- ### 三、数据库设计(核心表示例) #### 1. 公园信息表 ```sql CREATE TABLE park_info ( park_id INT PRIMARY KEY AUTO_INCREMENT, park_name VARCHAR(50) NOT NULL COMMENT '公园名称', location VARCHAR(100) COMMENT '详细地址', area DECIMAL(10,2) COMMENT '占地面积', open_time VARCHAR(20) COMMENT '开放时间', facilities TEXT COMMENT '设施清单' ); ``` #### 2. 游客预约表 ```sql CREATE TABLE reservation ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT NOT NULL, park_id INT NOT NULL, visit_date DATE NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` --- ### 四、核心功能实现 #### 1. 公园信息管理模块 ```java // Entity @Data @TableName("park_info") public class Park { private Integer parkId; private String parkName; private String location; private Double area; private String openTime; private String facilities; } // Mapper @Mapper public interface ParkMapper extends BaseMapper<Park> {} // Service @Service public class ParkService { @Autowired private ParkMapper parkMapper; public List<Park> getAllParks() { return parkMapper.selectList(null); } } // Controller @Controller @RequestMapping("/park") public class ParkController { @Autowired private ParkService parkService; @GetMapping("/list") public String parkList(Model model) { model.addAttribute("parks", parkService.getAllParks()); return "park-list"; } } ``` #### 2. 预约功能实现 ```java // 预约校验逻辑 public boolean checkReservation(ReservationDTO dto) { // 检查同一用户当天是否重复预约 QueryWrapper<Reservation> wrapper = new QueryWrapper<>(); wrapper.eq("user_id", dto.getUserId()) .eq("visit_date", dto.getVisitDate()); return reservationMapper.selectCount(wrapper) == 0; } ``` --- ### 五、前端页面示例 #### park-list.html ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <table class="table table-hover"> <tr th:each="park : ${parks}"> <td th:text="${park.parkName}"></td> <td th:text="${park.location}"></td> <td th:text="${#dates.format(park.openTime, 'HH:mm')}"></td> </tr> </table> </body> </html> ``` --- ### 六、项目调试与部署 #### 1. 常见问题解决 ```markdown - 数据库连接失败:检查MySQL服务状态,确认3306端口开放 - 时区问题:在JDBC URL添加 &serverTimezone=Asia/Shanghai - 页面404:检查Controller的@RequestMapping与thymeleaf模板路径 ``` #### 2. 打包部署 ```bash mvn clean package java -jar target/park-system-0.0.1-SNAPSHOT.jar ``` --- ### 七、功能扩展建议 1. **GIS集成**:接入高德地图API显示公园位置 2. **数据分析**:使用ECharts生成游客流量统计图 3. **移动端适配**:开发微信小程序预约入口 4. **智能推荐**:基于用户历史记录推荐公园 实际开发中建议采用Git进行版本控制,使用Postman测试API接口。建议每日开发前执行`mvn clean install`保证依赖完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值