基础开发
# 基础开发
# 规范说明
# 目录名称
所有目录名称必须小写
# 类名称
所有类名称单词首字母都必须大写。[所以默认提供的模板类名请先手动进行调整]{.mark}

# 接口定义及调用
# model定义
使用《https://github.com/projectlombok/lombok (opens new window)》定义模型注解,简化编写getter或setter等操作,提高编程效率

# dao接口定义
接口命名以Mapper后缀结尾
接口继承MPJBaseMapper<模型>,实现IoTPluginMybatisMapper接口
接口添加@Extension注解

# 服务接口定义
服务接口定义名称约定以Service后缀结尾
服务接口定义的具体接口名称单词首字母小写(遵循java规范,而非C#规范首字母大写)
响应用OperateResult包裹

# 服务接口实现
服务实现定义名称约定以ServiceImpl后缀结尾
接口实现增加注解:@Sl4j(日志支持,自动生成日志对象)、@Service(自动注入接口实现)、@Transactional(显式声明事务管理)
注解@RequiredArgsConstructor,构造函数注入dao接口

若需要添加日志记录,只需在方法中使用log字段记录日志

若需调用底层dao(名称:I+表名+Mapper),例如操作设备表,构造函数直接注入IEquipMapper

# 控制器调用
若需遵循ASP.NET Core版本的接口前缀规范即/iot/api/v3,填写:${url.manage.prefix}${url.manage.version}

# 本地调试接口
插件打包放到plugins目录,通过Postman模拟测试验证
# 附加进程调试
菜单栏:Run → Attach to Process
IDEA 会列出当前用户下所有可调试的 Java 进程(显示 PID 和主类名)
选择你要调试的进程,点击 OK


# 接口调试工具
通过正确的账号和密码成功登录IoTCenter平台或swagger认证授权通过,浏览器F12查看任意非匿名接口,然后复制请求头中的Cookie信息(iu-session)


# 插件自动化打包
通过mvn自动化打包插件(包含json配置、国际化翻译配置、独立依赖开源/私有组件),具体请见插件化模板默认提供的pom-parent.xml构建打包脚本。
右键clean->运行Maven构建

右键package->运行Maven构建

# 无任何独立依赖构建打包


# 独立依赖第三方组件打包
默认将主应用引入的包以groupId维度剔除(构建脚本暂未考虑插件需引用基于artifactId维度的具体包名,可能会导致独立依赖包无法打包到lib目录),仅打包插件独立依赖的包及其传递依赖项全部打包。

举个栗子:比如示例插件引入独立依赖包,打包后将自动打包到lib目录


# 独立私有包打包扩展约定
存在常见场景:第三方JAR包是私有包,不在任何于仓库中即此时私有包不在公共仓库中,约定将私有包置于插件根目录src/lib

