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只要用来数据转换,在园里已经有很多 ...
随机推荐
- 【Linux】- CentOS7安装java运行环境
centos7中安装java环境,在安装前先查看有无安装过java环境.直接运行java命令,会提示命令未找到,则是没有安装过java环境. 1.检查 也可以通过rpm命令查看: rpm -qa |g ...
- shell getopts命令
由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高.使用内部命令 getopts 可以很方便地处理命令行参数.一般格式为: getopts optstring name [args] ...
- 响应式web开发的一些文章
CSS Device Adaptation:关注 W3C 建议的 CSS 设备适配标准. “在 CSS 中使用 LESS 实现更多的功能”(作者:Uche Ogbuji,developerWorks, ...
- [轉]Exploit The Linux Kernel NULL Pointer Dereference
Exploit The Linux Kernel NULL Pointer Dereference Author: wztHome: http://hi.baidu.com/wzt85date: 20 ...
- ubuntu中搭建基本的开发环境
1.搭建基本开发环境: sudo apt-get install build-essential 2.安装语法.词法分析器 sudo apt-get install bison flex 3.安装C函 ...
- 用户界面样式(cursor,resize,vertical-align,outline,文字超出显示省略号)
1. 鼠标样式 cursor default: 小白(箭头)默认 pointer:小手 move:移动 text:文本 not-allowed:禁止 2. 轮廓线(表单外发光)outline 给表单添 ...
- JNI Hello World
1.什么是JNI: JNI(Java Native Interface):java本地开发接口 JNI是一个协议,这个协议用来沟通java代码和 ...
- C#开发activex
https://www.cnblogs.com/bobshieh/p/5746844.html
- 几种任务调度的 Java 实现方法与比较(定时任务)(转)
转自:http://blog.csdn.net/javafay/article/details/8031269 综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 ...
- 2017 ACM/ICPC Asia Regional Shenyang Online 12 card card card
题目大意: 给出两个长度为n的序列A,B,从1开始依次加Ai,减Bi,分数为第一次为当前和为负数的位置以前的Ai之和(左闭右开区间).同时有一种操作可以把当前的A1,B1移动到序列最后,注意序列A的各 ...