springbot项目中使用继承
package com.example.demo.controller; import com.sun.org.apache.bcel.internal.generic.NEW;
import org.springframework.web.bind.annotation.*; /**
* @program: demo->DemoController
* @description: demo
* @author: cxy
* @create: 2019-11-13 16:47
**/
@RestController
public class DemoController { @RequestMapping(value = "/", method = RequestMethod.POST)
public RspResult detail(@RequestBody TraceReqCancelOrder traceReqCancelOrder) {
TraceRspResult rsp = new TraceRspResult();
String traceId = traceReqCancelOrder.getTraceId();
System.out.println(traceId); System.out.println(traceReqCancelOrder.toString());
check(traceReqCancelOrder); rsp.setTraceId("");
rsp.setBody();
rsp.setMsg("success");
rsp.setResult();
return rsp;
} public static void check(ReqCancelOrder order){
String traceId = order.getTeacherId();
System.out.println(traceId);
} @RequestMapping(value = "/2", method = RequestMethod.POST)
public RspResult detail1(@PathVariable Integer id) {
TraceRspResult rsp = new TraceRspResult();
System.out.println(id); rsp.setTraceId("");
rsp.setBody();
rsp.setMsg("success");
rsp.setResult();
return rsp;
} @RequestMapping(value = "/3", method = RequestMethod.POST)
public RspResult detail2(@PathVariable Integer id) {
RspResult rsp = new TraceRspResult();
System.out.println(id); rsp.setTraceId("");
rsp.setBody();
rsp.setMsg("success");
rsp.setResult();
return rsp;
} }
package com.example.demo.controller;
import com.fasterxml.jackson.annotation.JsonProperty;
public class ReqCancelOrder {
@JsonProperty("SerialNo")
private String serialNo;
@JsonProperty("TeacherId")
private String teacherId;
@JsonProperty("TeamId")
private String teamId;
@JsonProperty("LocalOrderNo")
private long localOrderNo;
public String getSerialNo() {
return serialNo;
}
public void setSerialNo(String serialNo) {
this.serialNo = serialNo;
}
public String getTeacherId() {
return teacherId;
}
public void setTeacherId(String teacherId) {
this.teacherId = teacherId;
}
public String getTeamId() {
return teamId;
}
public void setTeamId(String teamId) {
this.teamId = teamId;
}
public long getLocalOrderNo() {
return localOrderNo;
}
public void setLocalOrderNo(long localOrderNo) {
this.localOrderNo = localOrderNo;
}
@Override
public String toString() {
return "ReqCancelOrder{" +
"serialNo='" + serialNo + '\'' +
", teacherId='" + teacherId + '\'' +
", teamId='" + teamId + '\'' +
", localOrderNo=" + localOrderNo +
'}';
}
}
package com.example.demo.controller;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class ReqOrderStatusQuery {
// 序列号
@JsonProperty("SerialNo")
private String serialNo;
// 订单请求列表
@JsonProperty("Orders")
private List<Order> orders ;
public List<Order> getOrders() {
return orders;
}
public void setOrders(List<Order> orders) {
this.orders = orders;
}
public static class Order {
// 老师ID
@JsonProperty("TeacherId")
private String teacherId;
// 委托单号
@JsonProperty("LocalOrderNo")
private long localOrderNo;
public String getTeacherId() {
return teacherId;
}
public void setTeacherId(String teacherId) {
this.teacherId = teacherId;
}
public long getLocalOrderNo() {
return localOrderNo;
}
public void setLocalOrderNo(long localOrderNo) {
this.localOrderNo = localOrderNo;
}
@Override
public String toString() {
return "Order{" +
"teacherId='" + teacherId + '\'' +
", localOrderNo=" + localOrderNo +
'}';
}
}
@Override
public String toString() {
return "ReqOrderStatusQuery{" +
"serialNo='" + serialNo + '\'' +
", orders=" + orders +
'}';
}
}
package com.example.demo.controller;
import com.fasterxml.jackson.annotation.JsonProperty;
public class RspResult {
public static final String SUCCESS_MSG = "success";
public static final String FAIL_MSG = "fail";
@JsonProperty("Result")
private int result;
@JsonProperty("Msg")
private String msg;
@JsonProperty("Body")
private Object body;
public static RspResult genSucess(Object object) {
RspResult rspResult = new RspResult();
rspResult.setResult();
rspResult.setMsg(SUCCESS_MSG);
rspResult.setBody(object);
return rspResult;
}
public static RspResult genFail(String msg) {
RspResult rspResult = new RspResult();
rspResult.setResult(-);
rspResult.setMsg(msg);
rspResult.setBody(null);
return rspResult;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getBody() {
return body;
}
public void setBody(Object body) {
this.body = body;
}
}
package com.example.demo.controller; import com.fasterxml.jackson.annotation.JsonProperty; /**
* @program: tdsimulate->TraceReqCancelOrder
* @description: 接入监控平台的取消委托参数
* @author: cxy
* @create: 2019-11-13 16:24
**/
public class TraceReqCancelOrder extends ReqCancelOrder{
//traceId 链路追踪id
@JsonProperty("TraceId")
private String traceId; public String getTraceId() {
return traceId;
} public void setTraceId(String traceId) {
this.traceId = traceId;
} @Override
public String toString() {
return "TraceReqCancelOrder{" +
"traceId='" + traceId + '\'' +
"} " + super.toString();
}
}
package com.example.demo.controller; import com.fasterxml.jackson.annotation.JsonProperty; /**
* @program: tdsimulate->TraceRspResult
* @description: 接入业务系统接入监控平台的返回Dto
* @author: cxy
* @create: 2019-11-13 10:53
**/
public class TraceRspResult extends RspResult {
//traceId ---首节点生成的traceid
@JsonProperty("TraceId")
private String traceId; public String getTraceId() {
return traceId;
} public void setTraceId(String traceId) {
this.traceId = traceId;
} }
可以看主题:今天是继承,所以那么就要采用继承:

这个地方很明显看出问题,就是创建对象时候用子父类去接受子类,是可以的,但是在后面如果去操作子类,是不可以的,编译器直接报错,,如果不操作子类属性是可以的,
那么得出结论:就是父类可以接收子类,但是接受的父类,不可以操作子类的属性
同理:

如果是父类接受,那么也可以进行,但是只要不操作,子类的属性,

springbot项目中使用继承的更多相关文章
- 在C#MVC三层项目中如何使用SprintNet
0.添加dll文件 1.首先在根目录下新建一个文件夹[Config],然后新建2两个xml文件. 1-1[controllers.xml]用来配置需要创建的对象 1-2[service.xml]用来配 ...
- Django项目中模板标签及模板的继承与引用【网站中快速布置广告】
Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环 ...
- javascript中的继承与深度拷贝
前言 本篇适合前端新人,下面开始...... 对于前端新手来说(比如博主),每当对js的对象做操作时,都是一种痛苦,原因就是在于对象的赋值是引用的传递,并非值的传递,虽然看上去后者赋值给了前者,他们就 ...
- iOS 之项目中遇到的问题总结
昨天去一家公司面试,面试官问了我在项目开发中遇到过哪些问题,是什么引起的,怎样解决的? 当时由于有点小紧张只说出了一两点,现在就来好好总结一下. 问题: 1.两表联动 所谓的两表联动就是有左右两个表格 ...
- 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持
在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...
- 在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入
在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式 ...
- Web API项目中使用Area对业务进行分类管理
在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...
- 关于Java中的继承和组合的一个错误使用的例子
[TOC] 关于Java中的继承和组合的一个错误使用的例子 相信绝大多数人都比较熟悉Java中的「继承」和「组合」这两个东西,本篇文章就主要就这两个话题谈论一下.如果我某些地方写的不对,或者比较幼稚, ...
- AutoMapper之ABP项目中的使用介绍
最近在研究ABP项目,昨天写了Castle Windsor常用介绍以及其在ABP项目的应用介绍 欢迎各位拍砖,有关ABP的介绍请看阳光铭睿 博客 AutoMapper只要用来数据转换,在园里已经有很多 ...
随机推荐
- ActiveX (ocx) 控件 在vs2010 上debug 的方法
1.在项目的属性中配置Debug,设置调试选项卡中的“命令”.“命令参数”.“工作目录”,“命令”为IE的路径,“命令参数”为自己写的htm页面路径(因htm中未配置ocx路径,所以直接把htm放在了 ...
- awk 按小时 统计接口调用次数
#统计所有接口总量awk -F ' ' '{a[$7]++} END{for(i in a){print i,a[i] | "sort -r -k 7"}}' accesslog/ ...
- 三、函数 (SUM、MIN、MAX、COUNT、AVG)
第八章 使用数据处理函数 8.1 函数 SQL支持利用函数来处理数据.函数一般是在数据上执行的,给数据的转换和处理提供了方便. 每一个DBMS都有特定的函数.只有少数几个函数被所有主要的DBMS等同的 ...
- [Fw]How to Add a System Call(Fedora Core 6 Kernel : 2.6.18)
How to Add a System Call Kernel : 2.6.18編譯環境 : Fedora Core 6 假設要加的system call為 sys_project, 有一個int的輸 ...
- iView的表单table
// html<div class="exam-list"> <Table :columns="columns7" :data="d ...
- POJ-1155 TELE 树形背包dp
dp[u][i]代表以u为根的子树选i个叶子的最大收益 那么dp[u][i]=max(dp[u][i],dp[v][k]+dp[u][i-k]-len) (1=<k<=i) 细节看代码: ...
- 第3篇K8S集群部署
一.利用ansible部署kubernetes准备: 集群介绍 本系列文档致力于提供快速部署高可用k8s集群的工具,并且也努力成为k8s实践.使用的参考书:基于二进制方式部署和利用ansible- ...
- ES5的 forEach, map 方法的实现
如果浏览器不支持forEach,map方法, 要我们自己封装一个, 该怎么操作呢? 1. forEach Array.prototype.forEach = function(fn) { if (th ...
- ORM与JPA规范
一.ORM框架 1.ORM简单介绍 对象关系映射,(Object Relational Mapping,简称ORM),是通过使用描述对象和数据库之间的映射的元数据,将面向对象语言程序中的对象自动持久化 ...
- Windows添加右键新增.md文件
因为习惯用Markdown来写文档, 所以常常需要新建.md文档,但由于Windows并不会自带把.md文档放入右键新建项中(像Word那样),所以方便起见,自己手动设置,其实就是把它写进Window ...