NCC基础开发技能培训

YonBuilder for NCC 是一个带插件的eclipse工具,跟eclipse没什么区别

NC Cloud2021.11版本开发环境搭建改动

https://nccdev.yonyou.com/article/detail/495

不管是NC Cloud 新手还是老NC开发,在开发NC Cloud时开发环境搭建必看!!!

yuhttps://nccdev.yonyou.com/article/detail/202

在NC Cloud时期在client端我们使用ServiceLocator进行远程调用,在非client端如果有远程调用,仍然只使用NCLocator。

NC Cloud的基础Action接口是ICommonAction,client的所有Action都基于ICommonAction实现。

NC Cloud 后端简单讲解 

https://nccdev.yonyou.com/article/detail/449

前端环境搭建进阶

https://nccdev.yonyou.com/article/detail/984

很多时候home是从测试环境拷贝出来的,有时服务器名称不是server 而是ncServer或者其他的名字,这里要改成server。

npm run dev 启动前端服务 

npm run build 编译buildEntryPath中的代码             

npm run patch 出patch配置中的代码补丁(直接可以打在home中的补丁)

基于idea的YonBuilder Premium开发者工具(原NCC开发插件)使用说明

https://nccdev.yonyou.com/article/detail/658

MAC M1使用idea进行ncc开发

https://nccdev.yonyou.com/article/detail/963

idea客开NCC及假勤开发环境搭建

https://note.youdao.com/ynoteshare/index.html?id=228c1700c079d976448fa06091fb5808&type=note

后端代码结构:

  • public(公共端)目录存放:vo对象(继承自SuperVO、ValueObject)、接口类(以I开头)
  • action目录存放:前端请求动作、鉴权配置
  • private(后端)目录存放:后端与数据库交互代码、后台业务逻辑、接口实现类
  • test目录存放:辅助调试代码,不参与打补丁
  • resources目录存放:资源文件
  • .upm文件配置接口与接口实现类的关联关系
  • 后端private和公共端public的代码放在ncchome/modules目录里。
  • 工程的模块对应modules的模块,例如课程里的train。

hotwebs存放前端,modules存放后端。

modules下:

  • 打过补丁的模块下有classes目录且classes目录下有内容。
  • 标准模块的lib目录对应public的内容。META-INF/lib目录对应private的内容。
  • classes和lib是一对

hotwebs下:

  • resources目录存放前端资源文件,包括js和html等
  • WEB-INF存放请求的代码
  • WEB-INF/lib下的jar文件被剪切到xxx/external/lib

导出补丁,默认放在modules目录下,如果是前端代码必须手动修改为hotwebs目录

前端调试:

  • VSCode作用不是用来调试,前端代码调试在浏览器。

怎么找到前端代码:

  • mainframe —— localhost:3306 —— 模块/组件/节点(与应用注册一模一样)
  • [name] —— . —— src —— 模块/组件/节点

前端所有源码都存放在src下。

node_modules脚手架。

前端三级:开发模块 —— 组件 —— 具体节点

前端代码:应用注册 —— 具体某个页面 —— 页面地址

遇到问题不要慌

技术问题不要第一时间问他人,他人也要通过调试来定位问题。

NCC项目、NCC业务组件

列表浏览态、卡片浏览态、卡片编辑态

取值怎么写、赋值怎么写

在“应用注册”给页面增加按钮

在代码中实现新增按钮的点击事件ncc的ajax请求url是4级,例如"/nccloud/train/bill/saveQuoVO.do"

获取接口:在web层(hotwebs里的代码)用的是ServiceLocator,在其他层用的是NCLocator。

EV录屏

跟数据库交互一定要写在后台private的接口实现类里,例如QueryServiceImpl

查数据库的接口:nc.itf.uap.IUAPQueryBS

在private中,通过NCLocator.getInstance().lookup(IUAPQueryBS.class)获取接口实现对象

ColumnProcessor是单列返回值类型,这里的返回类型还可以是其他类型,例如:

MapProcessor、MapListProcessor、BeanProcessor、BeanListProcessor

导入的包是nc.jdbc.framework.processor.MapProcessor

bs.executeQuery方法的第2个参数决定了该方法的返回值类型。

更新类路径:右击工程——UAP Tools —— update classpath

清理工程:Project菜单 —— Clean

自动构建:Project菜单 —— Build Automatically

Agg:聚合的缩写

NCC访问数据库一定要在后台private内实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python基础教程七(布尔类型,条件语句,断言)

1. 布尔类型 在前面,你遇到了很多真值,现在终于需要他们了。真值也称布尔值。 用做布尔表达式(如用作if语句中的条件)时,下面的值都将被解释器视为假: False None 0 "" () [] {} 换而言之&#xff0…

207课程表

题目 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 …

Vue2商品规格选择

Vue2Element-ui Vu2仿写拼多多商家后台规则选择&#xff0c;为什么用Vue2呢&#xff0c;因为公司用的Vue2... 样式不是很好看&#xff0c;自己调一下就行。 <template><div ref"inputContainer"><div>{{ combinationsResult }}</div><…

深入浅出Nacos的原理

前言 本文来讲一讲nacos作为底层注册中心的实现原理。那么就有这几个问题&#xff1f; 临时实例和永久实例是什么&#xff1f;有什么区别&#xff1f; 服务实例是如何注册到服务端的&#xff1f; 服务实例和服务端之间是如何保活的&#xff1f; 服务订阅是如何实现的&#…

Adobe illustrator各版本安装指南

下载链接 https://pan.baidu.com/s/11sTpMUbQEXhyjpkBlixcLg?pwd0531 #2024版 1.鼠标右击【Ai2024(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到 Ai2024(64bit)】。 2.打开解压后的文件夹&#xff0c;鼠标右击【Setup】选择【以…

【Pytorch】学习记录分享11——GAN对抗生成网络

PyTorch GAN对抗生成网络 0. 工程实现1. GAN对抗生成网络结构2. GAN 构造损失函数&#xff08;LOSS&#xff09;3. GAN对抗生成网络核心逻辑3.1 参数加载&#xff1a;3.2 生成器&#xff1a;3.3 判别器&#xff1a; 0. 工程实现 原理解析&#xff1a; 论文解析&#xff1a;GAN…

canvas如何自定义绘制图片

在Canvas中&#xff0c;可以使用drawImage()方法来绘制图片。该方法接受三个参数&#xff1a; 1. 图片对象&#xff1a;可以是<img>、<canvas>或<video>元素。 2. 图片左上角在Canvas中的X坐标。 3. 图片左上角在Canvas中的Y坐标。 如果要自定义绘制图片&a…

Postman接口测试实战

1.什么是接口测试 来自百度百科的解释&#xff1a; 接口测试是测试系统组件间接口的一种测试&#xff0c;主要用于测试系统与外部其他系统之间的接口&#xff0c;以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性&#xff0c;接口功能实现的正确性&…

使用.Net nanoFramework为ESP32进行蓝牙配网

通过前面的介绍&#xff0c;我们已经学会了如何使用 .NET nanoFramework 为 ESP32 设备连接 Wi-Fi 网络。然而&#xff0c;在实际的物联网环境中&#xff0c;我们往往需要使用更便捷的式来满足配网需求。这篇文章将带你了解一些常见的配网方案&#xff0c;并以 ESP32 为例&…

Java运算符简单介绍

文章目录 1. 算术运算符2. 赋值运算符3. 比较&#xff08;关系&#xff09;运算符4. 逻辑运算符5. 位运算符6. 条件运算符&#xff08;三元运算符&#xff09;7. 运算符优先级 1. 算术运算符 &#xff1a;加法 int a 5; int b 3; int sum a b; // 结果为8-&#xff1a;减…

docker——docker compose简介和案例(部署prometheus+granfana+node-exporter)

docker compose Docker Compose 是 Docker 官⽅编排&#xff08;Orchestration&#xff09;项⽬之⼀&#xff0c;负责快速的部署分布式应⽤。 它允许⽤户通过⼀个单独的 docker-compose.yml 模板⽂件 &#xff08;YAML 格式&#xff09;来定义⼀组相关联的应⽤容器为⼀个项⽬…

基于java,springboot的论旅游管理系统设计与实现

环境以及简介 基于java,springboot的论旅游管理系统设计与实现&#xff0c;Java项目&#xff0c;SpringBoot项目&#xff0c;含开发文档&#xff0c;源码&#xff0c;数据库以及ppt 源码下载 环境配置&#xff1a; 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服…

vue生成动态表单

Vue动态表单可以根据不同的数据动态地生成表单组件&#xff0c;方便快速地实现表单的创建和处理。下面给出一个示例&#xff0c;演示如何使用Vue动态表单生成一个简单的注册表单。 <template><form submit.prevent"submitForm"><div v-for"fiel…

PDF文档转换工具箱流量主小程序开发

PDF转换小助手&#xff0c;不仅是文件格式转换的利器&#xff0c;更是一位得力的助手。它精通PDF与各类文档间的自由转换&#xff0c;如Word、Excel、PowerPoint等。 转换选项丰富多样&#xff0c;满足您对文件保护、页面设置、图像品质等细致要求。处理大量文件&#xff1f;…

翻译!翻译!AI是什么?

2023年开年以来&#xff0c;AI突然开窍&#xff0c;终于不再是以前那个上下文不能连贯的呆子了&#xff0c;变得非常智能&#xff0c;非常好用。随后AI开始井喷式爆发&#xff0c;各大厂商开始发力&#xff0c;开始发布自家的AI产品。AI也逐渐成为我们日常生活的常态。我们也能…

Unity SVN更新提交小工具

Unity SVN更新提交小工具 前言使用说明必要前提源码参数说明 感谢 前言 Unity开发时每次都要到文件夹中操作SVN&#xff0c;做了一个小工具能够在Editor中直接操作。 使用说明 必要前提 前提是要安装好SVN&#xff0c;在文件夹右键能够看到安装的SVN 源码 using System…

用友U8+CRM 逻辑漏洞登录后台漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 reservationcomplete.php文件存在逻辑漏洞&#xff0c;未授权的攻击者通过…

渗透第四天 (抽空再看一天 )

网站不同的加密 ok  常用的对称加密算法有&#xff1a;DES、3DES、RC2、RC4、AES 常用的非对称加密算法有&#xff1a;RSA、DSA、ECC 使用单向散列函数的加密算法&#xff08;摘要算法&#xff09;&#xff1a;MD5、SHA 密码存储加密 md5 32位或者16位 0-9 a-f…

word表格跑到下一页,老是空很多在上一页,且与标题分离?

1、方法一 表格属性里边&#xff0c;行设置中&#xff0c;有一个“跨页断行”的选项&#xff0c;勾上应该可以解决你这个问题&#xff0c;你可以先试试&#xff1b; 2、方法二 鼠标点击表格任意位置&#xff0c;将光标定位到表格中&#xff0c;然后单击鼠标右键&#xff0c;…

第11章 GUI Page462~476 步骤二十三,二十四,二十五 Undo/Redo ②“添加操作”支持“Undo/Redo”

工程二 1.为AddAction类添加Undo() Redo() GetName()成员函数 2.实现AddAction类的Undo() Redo()函数 3.运行效果&#xff0c;但是日志窗口没有记录 原因&#xff1a;AddAction(EditAction* newAction)函数没有实现&#xff0c;另外参数是EditAction类型 所以我们还需要在基…