title: paoding-rose后端java框架
date: 2019-08-29 00:38:25
tags:
- paoding-rose
categories: java框架
paoding-rose后端java框架
原文地址 https://www.b2bchain.cn/5492.html
其依赖 Spring 的一套体系,主要对 Controller 和 DAO 层提供支持。
Controller 跟 Spring MVC 比较类似,但是相对Spring MVC来说功能稍弱一点;
DAO 又跟 MyBatis 比较类似,相对轻量一些,实际上是对 JdbcTemplate 的封装,并添加注解/SQL自定义标签等支持,使用起来很方便。
paoding-rose “强制限制”,paoding-rose 规定 Controller 层 类必须以Controller结尾,必须写在 controller包下面;
DAO 层都是接口,命名必须以 DAO 结尾,必须写在 dao 包下面等等一些强制的要求,否者项目就跑不起来。
跟约定大于配置这个概念有点类似,但是其又不提供配置,必须按照要求来,这些强制的编码要求使开发相对来说规范起来,对后期维护是有益的。
包 padding
jade
web
xml 配置过滤器
biz 业务处理查询 con-biz-sevice-dao 抽象service
dto 请求 前台请求参数给这里
dto传参数 转换只需求的参数
enums 数据库状态 枚举
excpention 异常
exterenal 外部接口 调区块链或者三方支付接口
interceptors 过滤器 登录验证等
quartz 定时任务,暂时不用
service.xml spring管理的业务
cotroller dao 包名,结尾必须固定才可以扫描到
请求json转对象 对象验证参数正确validatetable 在dto当中
dao pojo 数据对象
dto 与前端交互返回对象
dto 当中用 json formet插件 ctrl n快捷键
实体类转json例子
package org.rose.template.common;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.rose.template.dao.pojo.ChainInfo;
/**
* @author lizhenglong
*/
public class ChainJson {
//通过实体类转换成json
public static void BeanToJson(){
List<ChainInfo> data = new ArrayList<ChainInfo>();
ChainInfo chainEntity = new ChainInfo();
chainEntity.setName("btc");
chainEntity.setLock_add("buQjzRpyveZYJ9yTN6dRnCYxQMmQve6dKGU4");
chainEntity.setDeposit("1000");
chainEntity.setAbi("[{\"constant\":false,\"inputs\":[{\"name\":\"seq\",\"type\":\"uint64\"},{\"name\":\"block_data\",\"type\":\"bytes\"}],\"name\":\"submitBlock\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMaxBlockNum\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"input\",\"type\":\"string\"},{\"name\":\"ledger_seq\",\"type\":\"uint64\"},{\"name\":\"spv_tx_data\",\"type\":\"bytes\"},{\"name\":\"spv_receipt_data\",\"type\":\"bytes\"}],\"name\":\"submitCrossTx\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]");
chainEntity.setSpv("buQjzRpyveZYJ9yTN6dRnCYxQMmQve6dKGU4");
chainEntity.setStatus(1);
chainEntity.setAsset("buc");
chainEntity.setDescription("btcchain");
chainEntity.setIcon("https://imgchr.com/i/MWXC7Q");
data.add(chainEntity);
JSONObject jsonObject = new JSONObject();
System.out.println(jsonObject.toJSONString(data));//通过toJSONString( )将实体类转化成json对象
}
public static void main(String[] args) {
BeanToJson();
}
}
检查数据库字段是否冲突例如Lock
数据库id是否自增
json传入数据只需data内部分即可