### 蓝凌JAVA产品V16开发手册关键知识点解析 #### 一、文档概述与目标人群 **标题**:“蓝凌JAVA产品V16开发手册”表明这是一份专门针对蓝凌公司最新版本(V16)产品的开发指南。 **描述**:“蓝凌JAVA产品V16开发手册,蓝凌V16.0产品开发手册”,进一步确认了这份文档的性质——即它是用于指导开发者使用蓝凌V16.0产品的官方文档。 **目标读者**:面向Java开发人员,尤其是那些负责维护或开发基于蓝凌平台的应用程序的专业人士。 #### 二、日志框架更新:SLF4J + Logback **背景**:日志记录在软件开发中至关重要,它帮助开发者调试代码、监控应用程序性能并诊断运行时问题。随着技术的发展,日志框架也需要不断更新以适应新的需求和技术趋势。 **更新内容**: - **框架选择**:从之前的Log4j切换到SLF4J + Logback组合。 - **原因**:统一日志门面接口,提高日志记录的效率、稳定性和易用性。 - **具体变化**:删除了旧的日志配置文件`${project}src/log4j.properties`,并将日志路径配置在`${project}src/Logback.xml`中。 - **注意事项**: - 更新日志记录方式以匹配新框架的要求。 - 示例中的不规范书写需要被修正,例如将`logger.info(curTimeItem);`改为符合SLF4J规范的形式。 - 对于异常处理,推荐使用`log.error("xxxx{}", e);`而不是之前的`log.error(e)`。 #### 三、Hibernate开发规范 **概述**:Hibernate作为Java领域中最流行的ORM框架之一,在蓝凌V16产品中扮演着重要的角色。本部分详细介绍了在使用Hibernate进行数据库交互时应该遵循的最佳实践。 **核心内容**: - **参数占位符**:使用参数化的查询语句可以有效防止SQL注入攻击,并提高查询效率。 - **HQL级联对象查询**:利用Hibernate的HQL语言支持级联操作,简化复杂的数据库操作。 - **自我关联表HQL**:处理自我引用的实体关系时,使用特定的HQL语句结构。 - **多对多条件为对象情况**:当处理多对多关系时,采用更高效的方法。 - **获取Hibernate的session**: - 在DAO层中直接使用`super.getSession()`来获取事务管理的session。 - 如果在其他非DAO层需要使用session,则需通过Spring上下文获取`KmssSessionFactoryProxy`实例,并调用其`openSession()`方法。 - 使用session时务必注意事务管理,确保资源的正确释放。 **示例代码**: ```java // 获取session KmssSessionFactoryProxy kmssSessionFactoryProxy = (KmssSessionFactoryProxy) SpringBeanUtil.getApplicationContext().getBean("sessionFactory"); Session session = kmssSessionFactoryProxy.openSession(); ``` **其他注意事项**: - `HibernateTemplate.saveOrUpdateAll()`方法已被废弃,建议使用`HibernateWrapper.saveOrUpdateAll()`替代。 - 当需要获取数据库连接时,应通过`ConnectionWrapper`类实现,且使用完毕后记得关闭连接。 - **HQL查询语句问题定位**: - 遇到HQL语法错误时,可访问特定URL(如`http://localhost:8080/ekp/trans/to_sql?hql=你的HQL`)进行语法检查。 - 通过设置断点在`KmssASTQueryTranslatorFactory`、`HQLConverTool`、`HQLQueryPlan`和`QueryPlanCache`等类中,可以更深入地了解HQL翻译过程及SQL生成逻辑。 #### 四、Spring注入循环依赖问题 **问题描述**:在使用Spring框架进行依赖注入时,可能会遇到循环依赖的问题,导致无法正常启动应用。 **解决方案**: - 通常情况下,Spring会尝试解决循环依赖问题,但某些情况下可能会失败,这时需要手动调整Bean的定义或使用特殊配置。 - 例如,可以通过调整Bean的作用域(如使用`prototype`代替`singleton`)、改变构造函数参数顺序等方式来避免循环依赖。 蓝凌JAVA产品V16开发手册不仅涵盖了日志框架的更新和Hibernate的使用规范,还提供了关于Spring框架中常见问题的解决方案,为Java开发人员提供了宝贵的参考资料。
2024-12-09 15:33:11 7.83MB java 开发语言 蓝凌OA
1
### 蓝凌JAVA产品V15开发手册关键知识点解析 #### 一、SpringMVC框架的使用规范 **文档目的:** 本文档旨在详细阐述蓝凌V15产品的架构变更以及新增机制的开发部署规范,帮助Java开发人员能够迅速理解和运用新版本的功能。 **SpringMVC框架开发说明:** - **SpringMVC配置文件规范:** - 业务模块的页面控制配置文件统一命名为`spring-mvc.xml`,例如`/WEB-INF/KmssConfig/km/review/spring-mvc.xml`。这与之前的`struts.xml`有所区别。 - **URL定义规范:** - 所有业务模块的页面请求后端地址必须以`.do`结尾,并遵循“模块路径”+“表名”+“模型名”+`.do`的路径规范。 - **XML配置规范:** - 页面请求地址配置在`spring-mvc.xml`中,包括控制器、视图映射等配置。 - **控制器JAVA编码规范:** - 控制器方法中使用的类已经更换了包路径,确保与新的SpringMVC框架兼容。 #### 二、三员管理及日志部署说明 **三员管理简介:** - **三员定义:** - “系统管理员”:负责系统的日常管理和维护工作。 - “安全保密管理员”:专注于系统的安全防护和信息保密。 - “安全审计管理员”:负责系统的安全审计和监控。 - **权限部署:** - 修改`design.xml`配置文件中的`model`节点,增加``节点来实现权限的区分。 - 示例: ```xml ``` - 其中,`sysadmin`、`security`、`auditor`分别对应三种管理员类型,而`useless`中的角色不会赋予任何人。 **日志管理:** - **日志服务配置开启:** - 方法一:通过修改`kmssconfig.properties`文件来配置日志服务,包括开启三员管理、配置日志服务器地址等。 - 方法二:通过`admin.do`页面配置日志管理相关内容。 #### 三、菜单部署 **顶级菜单部署:** - **效果预览:** - 展示了系统顶部菜单的样式。 - **部署方式:** - 通过修改`/sys/profile/resource/js/data/navTop.jsp`文件来调整顶级菜单的数据。 **左侧(二级)菜单:** - **效果预览:** - 显示了二级菜单的样式。 - **部署方式:** - 有两种方法: - **简单部署:**修改`design.xml`文件中的`profileConfig`节点,添加`userType`属性来指定菜单适用的用户类型。 - **复杂部署:**当单一菜单无法满足不同用户类型的需求时,可将菜单拆分为“仅三员”和“非三员”两个节点,并设置相应的属性。 #### 四、应用(模块)菜单部署 **部署方式:** - 与二级菜单的部署方式相同。 #### 五、日志部署 **日志服务配置开启:** - **方法一:**修改`kmssconfig.properties`文件来配置日志服务。 - **方法二:**通过`admin.do`页面配置日志管理相关内容。 **总结:** 本文档详细介绍了蓝凌V15产品的开发部署规范,重点介绍了SpringMVC框架的使用规范、三员管理及日志部署的具体方法,以及菜单部署的相关流程。这些内容有助于Java开发人员更好地理解和掌握新版产品的特点和功能,从而提高开发效率和质量。
2024-12-09 15:18:03 10.54MB java 开发语言 蓝凌OA
1
刚从Excel2010 HXS下转过来的CHM格式的ExcelVBA开发指南,希望对学习ExcelVBA的朋友有帮助。
2024-10-23 14:51:13 7.07MB Excel2010 开发手册 用户指南
1
### LD3320开发手册知识点详述 #### 一、简介 LD3320是一款专门为语音识别设计的芯片,其内置了完整的语音识别处理器以及其他必要的外部电路,例如模拟数字转换器(AD)、数字模拟转换器(DA)、麦克风接口以及音频输出接口等。这些特性使得LD3320能够直接应用于各种产品中,无需额外的闪存或RAM等辅助芯片即可实现语音识别、声控及人机交互等功能。更重要的是,该芯片支持动态编辑识别的关键词列表,这极大地增强了产品的灵活性和功能性。 #### 二、寄存器操作 LD3320芯片的所有操作都需要通过寄存器来完成。具体来说,可以通过设置标志位、读取状态信息、向FIFO写入数据等方式来操作芯片。寄存器读写有两种主要的方式:标准并行方式和串行SPI方式。 ##### 1. 并行方式 当第46脚(MD)接低电平时,芯片将以并行方式工作。并行方式下,寄存器读写的时序图如下: - **写时序**:A0需要被设置为高电平以指示地址段;然后,在CSB*和WRB*均有效的状态下发送8位的寄存器地址;之后将A0设置为低电平,并在CSB*和WRB*仍然有效的情况下发送8位数据。 - **读时序**:同样地,首先将A0设置为高电平,并在CSB*和WRB*有效的状态下发送8位的寄存器地址;随后,将A0设置为低电平,并在CSB*和RDB*有效的情况下从寄存器读取8位数据。 ##### 2. 串行SPI方式 当第46脚(MD)接高电平且第42脚(SPIS*)接地时,芯片将以串行SPI方式工作。在SPI方式下,寄存器读写的时序图如下: - **写时序**:首先向SDI发送一个“写”指令(04H),接着发送8位寄存器地址,最后发送8位数据。在此过程中,SCS*必须保持在有效(低电平)状态。 - **读时序**:首先向SDI发送一个“读”指令(05H),接着发送8位寄存器地址,然后从SDO接收8位数据。同样地,在此过程中,SCS*也必须保持在有效(低电平)状态。 #### 三、寄存器介绍 寄存器主要用于接收数据、设置开关和状态等功能。LD3320的寄存器地址空间为8位,范围从00H到FFH。文档中详细介绍了一些重要的寄存器及其功能。 - **FIFO_DATA数据口**:寄存器地址01H,用于语音识别或MP3数据的主要处理FIFO缓存器。 - **FIFO中断允许**:寄存器地址02H,其中第0位用于允许FIFO_DATA中断,第2位用于允许FIFO_EXT中断。 - **FIFO_EXT数据口**:寄存器地址05H,用于语音识别时添加关键词的FIFO缓存器。 - **FIFO状态**:寄存器地址06H(只读),其中第6位为1表示忙,不能写入所有FIFO;第3位为1表示FIFO_DATA已满,不能写入。 - **清除FIFO内容**:寄存器地址08H,其中第0位用于清除FIFO_DATA,第2位用于清除FIFO_EXT。 #### 四、驱动程序 文档中还提供了关于驱动程序的信息,这部分内容对于开发人员来说非常重要,因为它指导了如何使用LD3320芯片的功能。 - **芯片复位**:首先介绍了如何进行芯片复位,这是使用芯片之前的一个基本步骤。 - **语音识别**:详细解释了如何利用LD3320进行语音识别,包括如何配置相关的寄存器以启动语音识别过程。 - **声音播放**:这部分介绍了如何通过芯片进行声音播放,这对于开发具有语音反馈功能的产品至关重要。 #### 五、补充说明 文档最后提供了一些补充说明,帮助开发者更深入地了解芯片的工作原理和使用技巧。 LD3320芯片提供了强大的语音识别能力,并且易于集成到现有产品中。通过合理地使用寄存器操作、熟悉寄存器功能以及遵循驱动程序指南,开发者可以轻松地实现语音识别、声控以及人机对话等功能,从而为用户提供更加智能和便捷的体验。
2024-10-15 10:10:40 369KB 语音识别 PDF 开发手册
1
### MCGS开发手册核心知识点概览 #### 一、脚本驱动V2.0使用指导手册概述 《MCGS开发手册》中详细介绍的脚本驱动V2.0使用指导手册是MCGS(Monitor and Control Generated System)软件的重要组成部分,主要针对MCGS嵌入式组态软件、MCGS通用版定制版组态软件以及MCGS网络版定制版组态软件的用户。此版本脚本驱动适用于MCGS嵌入式组态软件6.5(01.0010)及以上版本,同时也支持MCGS通用版及网络版的定制版本。 #### 二、脚本驱动适用范围 1. **适用软件版本**:MCGS嵌入式组态软件6.5(01.0010)及更高版本,MCGS通用版及网络版的定制版组态软件。 2. **适用设备**:包括独立板卡设备和串口通信设备。 3. **适用协议**:涵盖多种协议,具体在手册中详述。 #### 三、脚本驱动兼容性 1. **新旧版本兼容性**:旧版本脚本驱动可兼容新版本组态软件,但新版本脚本驱动无法向下兼容旧版本组态软件。 #### 四、脚本驱动新增内容 1. **新增功能**:引入生成向导功能,简化脚本编写流程。 2. **新增函数**:新增数据解析函数、数据校验函数和字节数组操作函数,具体包括但不限于数据读取、数据校验和数组操作等功能,例如`!SvrGetByteFromByteArr`用于从字节数组中获取字节,`!SvrGetSingleFromHexStr`用于从十六进制字符串中获取浮点数等。 #### 五、基础概念讲解 1. **通讯协议**:解释了ACSII码通讯协议和HEX通讯协议的区别。ACSII码通讯协议便于阅读理解,但传输效率较低;HEX通讯协议则更高效但可能降低可读性。 - ACSII码通讯协议(字符型协议):适合人机交互,但效率较低。 - HEX通讯协议(字节数组协议):更适合大量数据传输,效率高但可读性差。 #### 六、向导使用说明 1. **完全适用向导的协议**:通过实例展示了如何使用向导处理ASCII码协议下的多条命令通讯。例如,对于模仿ADAM4018协议的通讯命令,向导帮助解析发送和接收的数据格式,包括帧头、地址、数据体和帧尾的具体格式,以及模拟数据的处理方法。 #### 七、深入解析函数功能 - **数据解析函数**:如`!SvrGetByteFromByteArr`用于从字节数组中提取特定位置的字节,`!SvrGetSingleFromHexStr`则用于从十六进制字符串中解析出单精度浮点数。 - **数据校验函数**:如`!SvrByteArraySum`用于计算字节数组的累加和,`!SvrStrSum`用于计算字符串的累加和,`!SvrStrModbusCRC`用于计算Modbus协议的CRC校验值等。 - **字节数组操作函数**:如`!HStr2HByre`用于将十六进制字符串转换为字节数组,`!HByte2HStr`用于将字节数组转换为十六进制字符串。 通过上述解析,我们可以看到《MCGS开发手册》中脚本驱动V2.0使用指导手册不仅提供了详细的函数列表和使用说明,还深入介绍了脚本驱动的适用范围、兼容性、新增内容以及基础概念,特别是对通讯协议的解析和向导使用的说明,极大地方便了用户进行设备的编程和调试工作。
2024-10-13 19:38:18 1.17MB MCGS 开发文档
1
《Delphi 深入com学习资料》delphi开发资料,有需要的可以作为一本参考资料!
2024-09-26 16:10:25 30.49MB Delphi datasnap 开发手册
1
大华网络sdk开发手册,开发程序对接大华程序等都可以参考这个文件。这个文档说明非常完善,有每个模块的流程说明也有函数说明
2024-09-13 12:40:01 4.97MB sdk
1
神通-通用库和神通MPP操作及开发详细手册
2024-08-24 11:13:08 10.82MB 神通数据库 SQL手册
1
SpringBlade 开发手册.pdf SpringBlade 是一个基于 Java8 的微服务架构,采用 Spring Boot 2、Spring Cloud Greenwich、Mybatis 等核心技术。它致力于创造新颖的开发模式,将开发中遇到的痛点、生产中所踩的坑整理归纳,并将解决方案都融合到框架中。 SpringBlade 的特点是采用前后端分离的模式,前端开源两个框架:Sword(基于 React、Ant Design)、Saber(基于 Vue、Element-UI)。后端采用 SpringCloud 全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool。 BladeTool 已推送至 Maven 中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发。该框架集成了 Sentinel,从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。注册中心、配置中心选型 Nacos,为工程瘦身的同时加强各模块之间的联动。 使用 Traefik 进行反向代理,监听后台变化自动化应用新的配置文件。极简封装了多租户底层,用更少的代码换来拓展性更强的 SaaS 多租户系统。借鉴 OAuth2,实现了多终端认证系统,可控制子系统的 token 权限互相隔离。借鉴 Security,封装了 Secure 模块,采用 JWT 做 Token 认证,可拓展集成 Redis 等细颗粒度控制方案。 SpringBlade 的工程结构清晰,项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。该手册主要讲解如何在 SpringBlade 平台下开发业务模块,同时也是 Vue、VueX、Avue、Element-UI 的入门选择。 Saber 是 SpringBlade 前端 UI 框架,主要选型技术为 Vue、VueX、Avue、Element-UI。该手册主要讲解如何在 Saber 平台下开发业务模块,同时也是 Vue、VueX、Avue 的入门选择。 Sword 是 SpringBlade 前端 UI 框架,主要选型技术为 React、Ant Design、Umi、Dva。该手册主要讲解如何在 Sword 平台下开发业务模块,同时也是 React、Ant Design 的入门选择。 本手册主要讲解 SpringBlade 的开发手册,包括环境要求、环境准备、基础环境安装、Nacos 安装、Sentinel 安装、Seata 安装、插件安装、工程导入、工程运行、工程测试、开发初探、新建微服务工程、第一个 API、鉴权 API、响应结果、Redis 缓存、第一个 CRUD、建表、建 Entity、建 Service 和 Mapper、新增 API、修改 API、删除 API、查询 API、单条数据、多条数据、分页、微服务远程调用、声明式服务调用、Feign 熔断机制、Hystrix、生产部署、windows 部署、linux 部署、jar 部署、docker 部署、java 环境安装、mysql 安装等。
2024-08-02 16:09:20 23.92MB springBlade
1
AutoCAD .NET开发人员指导手册是一本专门为那些希望通过.NET Framework进行AutoCAD自定义和扩展的开发者准备的重要资源。由Autodesk官方编纂,这个指南详细介绍了如何利用C#或Visual Basic .NET等语言来增强AutoCAD的功能,实现个性化设计、自动化工作流程以及定制化用户界面。以下是手册中可能涵盖的一些关键知识点: 1. **AutoCAD .NET API**:这是AutoCAD与.NET Framework交互的基础。API提供了丰富的类库,允许开发者访问AutoCAD的对象模型,包括图形、图层、实体、布局等。 2. **ACAD对象模型**:理解AutoCAD的对象模型是成功进行二次开发的关键。模型包括图纸(Document)、模型空间(ModelSpace)、视图(View)和实体(Entity)等核心组件。 3. **事件驱动编程**:通过订阅AutoCAD对象的事件,如图层改变、对象选择等,可以实现动态响应和实时更新的程序。 4. **图元操作**:创建、读取、修改和删除AutoCAD图形中的图元。这包括直线、圆、文字、块引用等,以及图元的属性,如颜色、线型、线宽等。 5. **数据库操作**:AutoCAD中的数据库包含了图形的所有信息。开发者可以学习如何读写DDBX文件,或者使用ObjectARX接口来操作数据。 6. **用户界面扩展**:创建自定义菜单、工具栏和命令,为用户提供个性化的交互体验。这包括使用Command类创建自定义命令,以及使用Dialog类创建对话框。 7. **LISP与.NET集成**:对于熟悉LISP的开发者,手册会介绍如何在.NET环境中调用LISP函数,或者将.NET组件暴露给LISP。 8. **性能优化**:学习如何有效地使用异步操作、批处理处理和内存管理,以提高代码执行效率和用户体验。 9. **错误处理和调试**:了解如何正确处理异常,设置断点,使用调试器等,以确保代码的稳定性和可靠性。 10. **安装与部署**:将.NET解决方案打包成可安装程序,以及如何在用户的AutoCAD环境中正确部署这些程序。 手册中的“managed_dotnet_dev_guide_2017”很可能包含了上述所有内容,并可能针对2017版本的AutoCAD特性进行了详细讲解。通过深入学习和实践,开发者能够掌握AutoCAD .NET开发的精髓,为工程设计领域带来更高效、更个性化的解决方案。
2024-07-29 13:36:44 2.07MB AutoCA .NET开发 开发手册 二次开发
1