- Spring Cloud 与微服务学习总结(14)—— 云原生时代,如何从 Java 开发者转型微服务?
一杯甜酒
SpringCloud与微服务java云原生springcloud微服务微服务架构
前言根据维基百科定义,微服务不是整体应用程序中的一个层。相反,微服务是一个独立的业务功能,具有清晰的接口,并且可以通过内部组件实现分层架构。从战略角度来看,微服务架构基本上遵循“做一件事,就要做得好”的Unix哲学。为了应对传统单体架构的缺陷,微服务架构被企业广泛应用。然而,实践之前有很多问题都需要提前考虑清楚,比如Java背景的开发者是否更有优势?微服务、容器化、DevOps和CI/CD之间的关
- 【Rust基础】Rust后端开发常用库
勇敢牛牛_
rust开发语言后端
使用Rust有一段时间了,期间尝试过使用Rust做后端开发、命令行工具开发,以及做端侧模型部署,也尝试过交叉编译、FFI调用等,也算是基本入门了。在用Rust做后端接口开发时,常常会找不到一些合适库,而这些库在Java中却很常见,于是在此汇总一下后Rust后端开发中常用的一些库。基础框架首先是基础web开发框架,在Java中,最常用的就是Spring了,而Spring其实不单单是一个开发框架,而是
- SpringBoot整合RabbitMQ
z小天才b
RabbitMQruby开发语言后端
1、添加依赖org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-amqporg.projectlomboklomboktrue2.配置文件(application.yml)spring:rabbitmq:host:localhostport:5672username:g
- Spring MVC 面试题
A逍遥人世欢
面试springmvcjava
概述什么是SpringMVC?简单介绍下你对SpringMVC的理解?SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。SpringMVC的优点可以支持各种视图技术,而不仅仅局限于JSP;与Spring框架集成(如I
- 从零实现OSS阿里云图片上传:前端采用的vue3+element-plus,后端采用javaspingboot,实现上传图片到云,然后存储数据库链接能够回显的效果
绝顶少年
阿里云前端数据库
后端(JavaSpringBoot)1.添加依赖在pom.xml中添加必要的依赖,包括阿里云OSSSDK、SpringBootWeb、MyBatis-Plus等:org.springframework.bootspring-boot-starter-webcom.baomidoumybatis-plus-boot-starter3.4.3.4com.aliyun.ossaliyun-sdk-oss
- linux操作系统实战
沅沅真真
linux服务器运维
第一题创建根目录结构中的所有的普通文件 [root@localhost~]#cd/ [root@localhost/]#mkdir/text [root@localhost/]#cd/text [root@localhosttext]#mkdir/text/boot/text/root/text/home/text/bin/text/sbin/text/lib/text/lib64/text/us
- Spring MVC面试题(一)
码农 小王
springmvcjava
1.什么是SpringMVC?全称为ModelViewController,SpringMVC是Spring的一个模块,基于MVC架构模式的一个框架2.SpringMVC优点?1.可用各种视图技术,不仅限于JSP2.支持各种请求资源映射策略3.SpringMVC工作原理?1.客户端发送请求到DispatcherServlet2.DispatcherServlet查询handlerMapping找到
- SpringBoot项目集成分布式任务调度平台XXL-JOB
樱花语
分布式开发SpringBootXXL-JOB
一、概述XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。二、特性1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部
- spring event发布及监听实例
weixin_33924220
java测试
序本文主要介绍下如何在spring中进行发布时间以及接收事件定义事件publicclassDemoEventextendsApplicationEvent{privateStringmessage;publicDemoEvent(Objectsource,Stringmessage){super(source);this.message=message;}publicStringgetMessag
- Spring Plugin与策略模式:打造动态可扩展的应用
超越不平凡
Spring策略模式SpringSpringPlugin
目录一、策略模式二、SpringPlugin2.1SpringPlugin实现策略模式开发2.2策略模式优缺点三、SpringPlugin原理一、策略模式策略模式是一种设计模式,它允许程序在运行中动态的选择不同的行为方式进行动态执行。策略模式的核心思想是将行为封装在一个个独立的类中,这些类实现了相同的接口或抽象类,客户端可以通过接口来调用不同的实现,而不知道具体的实现细节。下面来看一个具体的案例。
- Spring中的Events
Leon_Jinhai_Sun
事件通过org.springframework.context.ApplicationEvent实例来表示。这个抽象类继承扩展了java.util.EventObject,可以使用EventObject中的getSource方法,我们可以很容易地获得所发生的给定事件的对象。这里,事件存在两种类型与应用程序上下文相关联所有这种类型的事件都继承自org.springframework.context.
- SpringBoot整合RabbitMq
qq_45923849
java-rabbitmqspringbootrabbitmq
1.引入依赖org.springframework.bootspring-boot-starter-amqp2.application.yml文件配置spring:rabbitmq:host:192.168.101.129port:5672username:adminpassword:adminvirtual-host:/3.编写配置类主要是声明RabbitTemplate,创建交换机和队列并进行
- nacos集成网关
hubertbb3
gatewayspringcloud
前言,之前写的微服务中,并没有网关来进行控制,任何请求都可以访问到服务,所以,我们通过集成网关的方式,来对发送到我们服务的路由进行管理和控制。第一步,创建一个springboot应用第二步,引入相关依赖org.springframework.cloudspring-cloud-starter-gateway
- MongoDB在Spring商城用户行为记录中的应用
小小初霁
mongodbspring数据库
一、MongoDB的优势灵活Schema用户行为数据结构多变(如点击、搜索、下单),MongoDB的文档模型无需固定字段,适应快速迭代。高吞吐写入支持批量插入,适合高并发场景(如秒杀活动的用户操作记录)。复杂查询优化支持聚合管道、地理空间查询、全文索引,便于多维分析。水平扩展通过分片(Sharding)应对海量数据存储。二、用户行为数据建模1.基础行为记录集合(如user_actions){"us
- spring 的model repository service controller的功能
LCY133
web开发springjava后端
1.Controller层(控制层)•功能:负责接收和处理HTTP请求,协调客户端与业务逻辑之间的交互。•核心职责:•请求处理:解析HTTP请求参数(如URL参数、Body数据、Headers)。•路由分发:根据请求路径(@RequestMapping)调用对应的Service方法。•响应生成:返回格式化数据(如JSON、XML)或视图(如HTML页面)。•输入校验:验证请求参数的合法性(如使用@
- SpringBoot调用deepseek
想买CT5的小曹
springboot后端java
1、效果截图:2、代码部分:application.propertiesserver.port=8080deepseek.api.token=sk-d34e929e887b4881813395241df2f745deepseek.api.url=https://api.deepseek.com/chat/completionscontroller部分请求参数可以缩短,写成实体类形式packagec
- java版电子招投标采购|投标|评标|竞标|邀标|评审招投标系统源码
微服务技术分享
java企业电子招投标系统源代码企业招投标系统源码招采系统源码
功能模块:待办消息,招标公告,中标公告,信息发布描述:全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外部供应商集中推送展示与其相关的所有采购业务信息(历史合作、考察整改,绩效评价等),支持供应商信息的自助维护,实时风险自动提服务框架:SpringCloud、SpringBoot2、Mybatis、OAuth2、Secur
- spring boot 基础学习 - 请求参数映射与参数j校验
破小孩儿乖
springboot学习笔记spring请求参数springbootspringmvc
springboot支持多种类型的请求参数映射1.简单数据的映射简单数据我们只需要给handler添加相应的形参,保证形参名称和页面请求参数的名称一致,spring就会回自动的帮我们将请求参数进行格式装换并封装到形参中:handler代码:@RequestMapping("paramstest")publicStringsimpleparam(Integerid,Stringusername,Bo
- kubernetes集群证书过期问题解决
后端java
证书过期问题查看证书过期时间kubeadmalphacertscheck-expiration证书过期升级命令kubeadmalphacertsrenewall日志查看命令journalctl-xefukubelet发现更新证书后,日志还是报错未发现/etc/kubernetes/bootstrap-kubelet.conf,则继续执行如下操作重新生成证书cd/etc/kubernetes/pki
- Spring Boot整合参数校验的技术学习
小码快撩
springboot学习java
引言在软件开发中,数据校验是一个非常重要的环节,它确保了数据的完整性和安全性。SpringBoot作为一款流行的Java框架,提供了非常方便的参数校验功能。本文将详细介绍如何在SpringBoot中整合参数校验,并通过示例代码演示其使用方法。一、依赖管理在SpringBoot中整合参数校验的依赖管理相对简单,因为SpringBoot默认集成了HibernateValidator作为其参数校验的支持
- Spring Boot 参数校验异常与错误编码映射方案
robin-cloud
springspringbootspringcloud
一、错误码定义与配置错误码结构采用分层编码格式:[模块][错误类型][序号](如1001表示公共模块参数校验错误中的第一个错误)配置文件(application.yml)yaml复制error:codes:#公共模块错误码common:param_invalid:1000#校验子错误码constraints:NotNull:1001Size:1002Pattern:1003Email:1004#用
- Spring Cloud Alibaba RocketMQ 消息队列
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介RocketMQ是一款开源、高性能、分布式消息中间件,它具备以下主要特征:支持海量消息堆积能力,支持发送10万+TPS,且不受单机容量限制;提供灵活的消息过滤机制,支持按照标签,SQL92标准的过滤语法进行消息过滤;丰富的消息订阅模型,包括广播消费,集群消费,事务消费等多种模式;内置丰富的管理控制台,通过WebUI来方便地对集群进行管理、监控及报警;高吞吐量,单
- 【Linux 初学篇】(1)目录结构、远程登录、vim 和 vi、用户管理
2401_83817418
程序员linuxvim运维
/usr/local这是一个给主机额外安装软件(软件)所安装的目录。一般是通过编译源码方式安装的程序1.2.9boot存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件1.2.10proc这是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息(该目录不能动)1.2.11srvservice的缩写,该目录存放一些服务启动之后所需要提取的数据(该目录不能动)1.2.1
- Spring Boot + InfluxDB 批量写入(同步、异步、重试机制)
火皇405
springbootjava后端
1.项目介绍本项目使用SpringBoot+InfluxDB2.x,主要介绍批量写入数据的三种方式:同步写入(BlockingWrite)异步写入(Non-blockingWrite)带重试机制的写入(HandlingErrorswithRetry)适用于高并发数据写入、物联网(IoT)、实时监控等场景。2.InfluxDB连接配置✅application.yml#InfluxDB独立配置infl
- JAVA Spring Boot Aspect 注解的使用和注意事项
微笑的曙光(StevenLi)
JAVAjavaspringboot开发语言
JavaSpringBoot的Aspect注解,作为面向切面编程的利器,其强大之处在于能够无缝地将横切关注点融入业务逻辑中,而无需修改原有代码。通过动态代理机制,Aspect可以在运行时灵活地织入日志、事务管理、权限校验等额外逻辑,极大地提高了系统的灵活性和可维护性。此外,Aspect还支持多种通知类型,如前置通知、后置通知、环绕通知等,满足了不同场景下的需求。这种松耦合、高内聚的设计思想,是现代
- Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
m0_74824780
面试学习路线阿里巴巴springboot后端java
在SpringBoot生态中,dynamic-datasource-spring-boot-starter是一个非常实用的组件,它为我们在多数据源场景下提供了便捷的解决方案。在上一篇文章《一分钟上手:如何创建你的第一个SpringBootStarter》中,我们学习了如何创建自己的starter,今天我们就来深入探究下dynamic-datasource-spring-boot-starter的源
- Spring学习之路:环境搭建、核心API与配置文件细节
qq_44766305
Springspringjava后端
1.软件版本1.JDK1.8+2.Maven3.5+3.IDEA2018+4.SpringFramework5.1.5官方网站www.spring.io2.环境搭建Spring的jar包#设置pom依赖可以去Maven中央仓库org.springframeworkspring-context5.1.4.RELEASESpring的配置文件1.配置文件的放置位置:任意位置,没有硬性要求2.配置文件命
- redis在SpringBoot中的使用
小野喵喵。
redisspringboot数据库
以下部分内容由AI生成,再添加自己的理解,仅供参考与了解记录一、redis简单介绍Redis是一个开源的高性能键值对数据库,支持多种数据结构,如字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(SortedSet)等。核心原理1.单线程模型redis使用单线程处理命令(核心逻辑),避免了多线程竞争问题。通过非阻塞I/O多路复用监听多个客户端连接,高效处理请求。所
- 《人形机器人入门》开源项目推荐
段钰忻
《人形机器人入门》开源项目推荐IntroductionToHumanoidRoboticsMatlabcodeforaSpringerbook"IntroductiontoHumanoidRobotics"项目地址:https://gitcode.com/gh_mirrors/in/IntroductionToHumanoidRobotics1.项目基础介绍《人形机器人入门》开源项目是基于MATL
- Spring Boot 集成 Lua 脚本:实现高效业务逻辑处理
随风九天
springjavaspringbootlua
1.前言1.1什么是LuaLua是一种轻量级、高性能的脚本语言,常用于游戏开发、嵌入式系统、配置文件解析等领域。Lua语法简洁,易于学习和使用,且具有强大的扩展性。1.2SpringBoot与Lua集成的意义将Lua集成到SpringBoot应用中,可以实现动态配置业务逻辑、简化复杂业务流程、提高系统的灵活性和可维护性。Lua脚本可以在运行时动态加载和执行,非常适合需要频繁变更的业务规则。2.环境
- 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独立出来,数据持