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內部分即可