Walnut 是一个业务系统开发基座平台。其核心的设计思想是:
- 用一套虚拟的文件系统整合「文件系统」、「RDS数据库」、「NoSQL」、「Redis」等诸多数据源,让你可以用同样的方式访问它们
- 基本操作命令化,支持命令的拼装
- 采用
JS作为脚本引擎,以便支持动态升级业务逻辑 - 内置各种命令,很多场景开箱即用
- 很容易作为一个
Java库,二次开发
它的工程目录结构:
|-- bin/ # 这个目录内容暂时没用了,不用看
|-- client/ # 这个目录内容暂时没用了,不用看
|-- conf/ # 工程配置文件,主要是 Nutz Ioc 部分
|-- design/ # 设计物料,不用看
|-- doc/ # 文档目录,未完成
| |-- draft/ # 最早的草稿文档
| |-- markdown/ # 正式一点的文档,但是很多都是空的
|-- gradle/ # 这个目录内容暂时没用了,不用看
|-- ide/ # IDE 的配置,不用看
|-- mind/ # 脑图文档,不用看
|-- psd/ # PSD 设计物料,不用看
|-- ROOT/ # 一些例子,不用看
|-- src/ # 全部源代码,主要看这个!!
| |-- com/site0/walnut/ # Walnut 全部源代码
| | |-- alg/ # 算法相关工具类
| | |-- api/ # 核心接口定义
| | |-- cache/ # 缓存模块
| | |-- cheap/ # 一个名叫 Cheap 的简易文档解析器
| | |-- core/ # 核心接口的实现
| | |-- cron/ # Cron 模块
| | |-- ext/ # 扩展模块
| | |-- impl/ # 核心服务的实现
| | |-- jdbc/ # JDBC 的包裹,现在已经基本弃用
| | |-- jetty/ # Jetty 相关的适配代码
| | |-- jsexec/ # Js 引擎的包裹实现
| | |-- login/ # 账户体系
| | |-- lookup/ # 快捷查询数据的捷径模块
| | |-- nashorn/ # nashorn 对象包裹类
| | |-- ooml/ # 对于 OOML 相关的实现
| | |-- security/ # 安全权鉴相关功能(建设中)
| | |-- util/ # 所以的帮助函数
| | |-- val/ # 值生成器
| | |-- web/ # 适配 Web 端(Nutz MVC)
| | |-- WnVersion.java # 版本声明类
| |-- org/nutz/ # Nutz 的全部源码
|-- target/ # 编译的结果,不用看
|-- test/ # 全部单元测试用例
|-- tools/ # 小工具,不用看
|-- WebContent/ # Servlet 容器需要的配置,不用看工程目录中的
gradle以及build.py是弃用的代码,以后会从项目移除 它采用Nutz作为内核支持库(已经包括了 Nutz 的一个分支全部代码) 注意 可以看.gitignore里面的规则,凡事被忽略的文件统统不用看