- 开发避坑短篇(7):Vue+window.print()打印实践
帧栈
避坑指南vue.js前端elementui
需求vue项目中如何打印当前页面内容?解决办法使用浏览器原生APIwindow.print(),这是最简单直接的方式,通过调用window.print()方法触发浏览器打印功能。在vue项目中直接调用print()方法即可,无须引入任何插件。如下:functionhandlePrint(){setTimeout(_=>print(),500)}打印页面样式控制可以使用@mediaprint来控制
- 23种设计模式之中介者模式
heimeiyingwang
设计模式设计模式中介者模式架构后端java
中介者模式(MediatorPattern)详细介绍一、模式概述英文名称:Mediator核心目标:定义一个中介对象来封装一组对象之间的交互,减少对象间直接通信的复杂性,促进松耦合。设计思想:通过集中控制交互逻辑,将网状的多对多通信转化为星型的一对多结构,简化系统维护。二、优缺点优点缺点1.减少对象间依赖:对象仅与中介交互,降低耦合。1.中介类复杂度高:可能成为“上帝类”。2.简化对象间协作:交互
- html-day01笔记-01-前言&WEB标准&认识HTML&HTML常用标签
zhangjunzongque
个人html常用标签
typora-copy-images-to:media第01阶段.web基础:html-day01笔记-01-前言&WEB标准&认识HTML&HTML常用标签一、前言1.基础班学习目标目标:能根据psd文件(psd文件,其实就是一张类似于图片的格式,这个呢是用ps做的,也就叫做源文件),用HTML+CSS布局出符合W3C规范的网页(也就是说,我们写的代码,要符合标准)。简单的说,能根据美工给的图,
- C语言 预处理 编译 汇编 链接
潇洒葛大爷
C语言
C语言预处理编译汇编链接gcchelp$gcc--help-save-tempsDonotdeleteintermediatefiles-EPreprocessonly;donotcompile,assembleorlink-SCompileonly;donotassembleorlink-cCompileandassemble,butdonotlink-oPlacetheoutputinto对c
- SAP操作手册之 IDOC基础篇
syjf1976_abap
点击蓝字关注我们一前言网上有一个介绍IDOC的文章,讲的非常详细.有兴趣的可以看一下.https://www.cnblogs.com/jiangzhengjun/p/4292135.html#_Toc411677416本文更多的从开发的角度及我的理解去讲解IDOC的一些基础知识,作为一个补充吧.二IDOC是什么IDoc:intermediate(媒介)document.通过特定的方式把接口传递的内
- 使用SDL开发IMGUI(一)
weixin_30613343
ui
Note:原教程来自http://iki.fi/sol/imgui/00–介绍IMGUI全称:ImmediateModeGUI。IMGUI不同于我们常见的RMGUI(MFC、QT、WPF、GTK都是RMGUI)。在典型的RMGUI的应用程序中,我们创建了一堆小部件(widgets),它们通过布局显示在窗口上,我们可以查询小部件的状态,接受系统发来消息和数据,处理、生成新的状态,最终重绘小部件,用户
- Qt下使用SDL库渲染图像
米优
Qtqt开发语言SDL
SDL库简介SDL(SimpleDirectMediaLayer)视频渲染库是一个跨平台的多媒体开发框架,专注于提供高效的2D图形渲染与视频播放能力。关键API介绍1.SDL_CreateWindow()承载渲染内容的显示窗口。2.SDL_CreateRenderer()管理渲染管线,控制绘制命令(支持硬件加速/软件渲染)。3.SDL_CreateTexture()存储图像数据(支持流式更新),作
- 【Mediatek】openwrt编译stressapptest Hash of the local file stressapptest-1.0.9.tar.xz does not match
wellnw
OpenwrtMediaTeklinuxopenwrt
问题日志virtual-machine:~/openwrt/lede$makepackage/mtk_soc/oss/stressapptest/{clean,compile}V=s-j1time:target/linux/prereq#0.19#0.09#0.37make[1]:Enteringdirectory'/home/openwrt/lede'make[2]:Enteringdirect
- react 录音功能
Mr_wuying
react.jsjavascript前端
在这有两种录音时的动态效果1.使用react-media-recorder库实现基础录音功能2.添加录音计时器显示录音时长3.实现音频可视化效果,通过Canvas绘制频谱图4.处理麦克风权限状态检测5.提供开始/停止录音和清除录音的控制按钮先添加依赖npminstallreact-media-recorder//exportdefaultAudioRecorder;importReact,{use
- RK3588 Android12 自定义HAL服务到上层app
Kellen Lin
RK3588Android12系统驱动开发androidjava开发语言arm开发驱动开发
背景:荣品开发板RD-rk3588sdk不支持编译app源码,所以只能将jar包导入到上层app中实现提取jar包#进入目录cdout/target/common/obj/JAVA_LIBRARIES/framework-minus-apex_intermediates#查看classes.jar有没有我们的classjar-tfclasses.jar#解压出helloworldManager.c
- windows show failed无法启动你的相机
有时我们在不知道什么情况下电脑便会变成这个样子,当我们以为是驱动问题的时候,或许我们可以使用下面的办法解决这个问题首先用驱动精灵或者驱动人生修复系统驱动,然后按照下面步骤操作方法:1.WIN键+R打开命令端,输入regedit运行2.进入计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsMediaFoundation\Platform\3.新建DWO
- Mac系统如何制作Mac U盘启动盘(更新至mac 12.6)
我叫柱子哥
Mac和开发工具相关macos
目录1.如何使用U盘创建macOS启动盘2.创建可引导安装器需要满足的条件3.下载macOS4.在“终端”中使用“createinstallmedia”命令5.使用可引导安装器Apple芯片Intel处理器6.进一步了解1.如何使用U盘创建macOS启动盘如何我们的Mac系统升级或者重新安装MacOS不需要使用U盘启动盘,但如果您要在多台电脑上安装macOS,而又不想每次都下载安装器,这时可引导安
- Android bootanimation动画制作和验证
小姜的android之旅
Androidbootanimationbootanimation
Android开机动画使用bootanimation程序显示开机画面,只需按格式要求做bootanimation.zip包,放在系统的/system/media目录中。开机画面主要是由一个zip格式的压缩包bootanimation.zip组成,压缩包里面包含数张png格式的图片,还有一个desc.txt的文本文档,开机时按desc.txt里面的指令,屏幕上会按文件名称顺序连续的播放一张张的图片,
- 微信上传素材(永久) ,thumb_media_id 获取
亿水清华
首先在获取thumb_media_id时所用微信接口是url="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token={}&type={}"通过url获得的media_id可做thumb_media_id使用。注意如果过程中出现40007错误,可能是你和我一样跳入了这个大坑temporary_url="https:
- 添加UPROPERTY(EditAnywhere)引起 error MSB3073
1>UnrealBuildTool:error:UnabletodeleteE:\EpicUE4"Microsoft.MakeFile.Targets:errorMSB3073"SolutionsGames\MyGame\BTPS\Intermediate\Build\Win64\BTPSEditor\Development(Unabletodelete\\?\E:\EpicGames\MyGam
- 从 0 到 1 搞定nvidia 独显推流:硬件视频编码环境安装完整学习笔记
lxmyzzs
图像算法之音视频编解码音视频学习笔记
笔记用于安装和配置一套完整的媒体处理工具链,包括NVIDIA编码头文件、带CUDA加速的FFmpeg以及ZLMediaKit流媒体服务框架,适用于需要进行视频编解码、流媒体推流/拉流等场景的开发与部署。标题核心组件及版本说明nv-codec-headers来源:Gitee仓库jario-jin/nv-codec-headers版本:n11.1.5.0(对应NVIDIAVideoCodecSDK接口
- Open64 WHIRL
Eloudy
编译器IR
Open64WHIRL是美国Open64编译器套件中使用的一种中间表示(IntermediateRepresentation,IR)格式,主要用于在编译过程中表示源代码的中间形态。它是Open64编译器的重要技术组成部分,用于代码优化和跨平台代码生成。1.Open64编译器简介Open64是一个开源的、高性能的编译器基础设施,最初由SGI(SiliconGraphics)开发,后来由HP、Inte
- WPF 初始界面启动时播放背景音乐
上元星如雨
C#&Godotwpf
在WPF项目中实现启动时播放背景音乐且只播放一次,可以通过以下步骤实现。这里使用MediaPlayer类来播放音频,并确保音乐只播放一次:完整实现方案1.添加音频文件到项目在项目中创建Assets或Media文件夹添加音频文件(如background.mp3)设置文件属性:生成操作:Resource复制到输出目录:不复制2.修改App.xaml.csusingSystem.Windows;usin
- mediamtx v1.13.1版本详解:2025年7月21日最新功能与优化汇总
福大大架构师每日一题
文心一言vschatgptgolang
mediamtx作为一款高性能的流媒体服务器软件,持续在稳定性、兼容性和用户体验方面进行优化迭代。2025年7月21日,mediamtx发布了1.13.1版本,本次更新在多个协议支持、功能完善及依赖库升级方面进行了重要改进。本文将围绕mediamtxv1.13.1版本的具体修复和增强内容进行深度解析,帮助广大开发者和运维人员快速理解新版本亮点及实用价值。一、版本概述mediamtxv1.13.1定
- 低速信号设计之 RMII
万花丛中一抹绿
服务器低速信号设计服务器硬件研发低速信号设计RMII
一、引言在服务器的信号设计中,高速信号往往是关注的焦点,但低速信号的稳定运行同样是保障服务器整体可靠性的关键。RMII(ReducedMediaIndependentInterface,简化的媒体独立接口)作为一种常用于低速以太网通信的接口标准,在服务器的低带宽通信场景中发挥着重要作用。本文将从RMII总线在服务器中的应用场景、工作原理、关键参数、设计及布局布线注意事项、典型应用案例等方面进行详细
- 低速信号设计之 RGMII 篇
一、引言在服务器的信号接口设计中,高速信号固然是性能的核心,但中低速信号的稳定运行同样是保障系统可靠性的基础。RGMII(ReducedGigabitMediaIndependentInterface,简化的千兆媒体独立接口)作为一种兼顾速率与简化设计的以太网接口标准,在服务器的中低速千兆以太网通信场景中扮演着重要角色。本文将从RGMII总线在服务器中的应用场景、工作原理、关键参数、设计及布局布线
- Vue.config全局配置
辉夜真是太可爱啦
1.取消Vue所有的日志与警告。Vue.config.silent=true;2.Vue自定义键名Vue.config.keyCodes={v:86,f1:112,//camelCase不可用mediaPlayPause:179,//取而代之的是kebab-case且用双引号括起来"media-play-pause":179,up:[38,87]}3.设置为false以阻止vue在启动时生成生产提
- 解决【WVP服务+ZLMediaKit媒体服务】加入海康摄像头后,能发现设备,播放/点播失败,提示推流超时!
l1o3v1e4ding
后端开发热点代码视频编解码音视频实时音视频javalinux
环境介绍每人搭建的环境不一样,情况不一样,但是原因都是下面几种:wvp配置不当网络端口未放开网络不通我搭建的环境:WVP服务:windows下,用idea运行的源码ZLM服务:虚拟机里问题描述1.国标设备里能发现海康的摄像头,心跳正常2.WVP服务与ZLM服务心跳正常3.播放失败,推流超时解决问题,我是第三种情况(详见下面的点播流程图的第5步)原因是ZLM服务在虚拟机里,虚拟机默认是NAT网络连接
- mtk调试-camera
仅当做个人学习笔记使用,防丢失。原文链接:https://blog.csdn.net/qq_58703058/article/details/132994554Device:1、修改imgsensor相关(ProjectConfig.mk文件)device/mediateksample/{platform}/ProjectConfig.mk此文件用于将相关模块加入编译。2、在头文件中添加senso
- 博客摘录「 华为云平台-FusionSphere OpenStack 8.2.1 系统加固」2025年7月15日
编号加固项"风险等级"加固原理/Rationale审计方法/Audit期望结果/ExpectResults加固方法/Remediation1OpenSSH加固配置1.1OpenSSH加固配置1.1.1SSH使用的版本H"OpenSSHV2版本在安全性能、方便性上有所提高,默认使用V2版本。如果用户根据实际需要采用V1版本,可登录主机将数值修改为“1”。"查看/etc/ssh/sshd_config
- WorkManager
CentForever
1.WorkManager简介https://developer.android.google.cn/topic/libraries/architecture/viewmodel?hl=zh-cn#java2.https://developer.android.com/topic/libraries/architecture/workmanager/how-to/intermediate-prog
- 光纤HDMI vs 普通HDMI线:区别对比及适用场景全解析
1.引言:HDMI线的重要性HDMI(HighDefinitionMultimediaInterface)作为目前最主流的高清音视频传输接口,广泛应用于显示器、电视、投影仪、游戏主机、PC等设备。然而,市面上的HDMI线种类繁多,尤其是光纤HDMI和普通铜芯HDMI,它们的性能差异大,适用场景也不同。本文将从传输原理、带宽、距离、抗干扰、价格等多个维度对比两者的区别,并给出选购建议,帮助你在不同场
- HDMI、DisplayPort、USB-C 不同版本对比:带宽、刷新率、协议版本详解
TESmart碲视
KVM切换器领域相关技术电脑计算机外设智能硬件物联网
一、接口概览:HDMI、DP接口、USB-C到底是干嘛的?接口名称主要功能常见设备支持传输内容HDMI(High-DefinitionMultimediaInterface高清多媒体接口)专为高清音视频传输设计电视、显示器、显卡、游戏主机视频+音频DP(DisplayPort显示端口)高性能视频输出接口显卡、显示器、扩展坞视频+音频USB-C(带DPAlt模式支持DP替代模式)多功能数据传输接口笔
- SDL用法:"PiratesHo!"全集
CHALLEN537
SDL用法:"PiratesHo!"的诞生SamLantinga,首席程序员,LokiEntertainmentSoftwareLaurenMacDonell,首席程序员,LokiEntertainmentSoftware2000年2月01日SimpleDirectMediaLayer(SDL)的作者SamLantinga和LaurenMacDonell发布了这个系列的第一篇文章,在这些文章中,他
- 前端高频面试题深度解析(JavaScript + Vue + jQuery)
前端高频面试题深度解析(JavaScript+Vue+jQuery)一、JavaScript核心问题解析事件冒泡与捕获机制对比:graphLRA[捕获阶段]-->|Window→父元素|B[目标元素]B-->|子元素→父元素|C[冒泡阶段]阻止方法://阻止冒泡(常用)event.stopPropagation();//阻止捕获+冒泡+默认行为(慎用)event.stopImmediateProp
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持