- Apache Shiro 全面指南:从入门到高级应用
杨凯凡
Java框架java后端shiro
一、Shiro概述与核心架构1.1什么是Shiro?ApacheShiro是一个强大且易用的Java安全框架,它提供了认证(Authentication)、授权(Authorization)、加密(Cryptography)和会话管理(SessionManagement)等功能。与SpringSecurity相比,Shiro的设计更加直观和简单,同时又不失灵活性。Shiro的核心优势:简单性:AP
- 基于Flask的通用登录注册模块,并代理跳转到目标网址
vener__
通用网站搭建flaskpython后端
实现了用户密码的加密,代理跳转到目标网址,不会暴露目标路径,未登录的情况下访问proxy则自动跳转到登录页,使用时需要修改配置项config,登录注册页面背景快速修改,可以实现登录注册模块的快速复用。1.app.pyfromflaskimportFlask,render_template,request,redirect,url_for,session,Responseimportsqlite3i
- redis常见面试题
超级蛋蛋怪无敌冲!!
redis数据库缓存
Redis数据类型在我的项目中的使用:1.缓存字符串(String):存储经常查询的数据,如用户信息、页面缓存、API响应缓存等。存储用户的认证token、session信息。实现分布式锁:结合SETNX命令,可以用字符串来实现简单的分布式锁。2.ZSet有序集合排行榜:使用有序集合实现排名系统,根据用户的分数(如积分、等级等)进行排序。3.哈希Hash存储对象:如用户ID作为键,用户的属性(姓名
- Spring框架整合Mybatis框架
听一曲秋风
springmybatisjava
1.基本整合方式1.1整合思路Spring框架与Mybatis框架的整合,主要是为了让Mybatis能够充分利用Spring的依赖注入(DI)和面向切面编程(AOP)特性,简化开发流程,提高代码的可维护性和扩展性。整合的主要思路是通过Spring来管理Mybatis的SqlSessionFactory以及Mapper接口,并且利用Spring提供的事务管理功能来处理数据库事务。1.2整合所需要的依
- HTTP 核心知识点整理
Yvsanf
计算机网络http网络协议网络
1.HTTP基础定义:HTTP(HyperTextTransferProtocol)是应用层协议,基于请求-响应模型,用于客户端(浏览器)与服务器之间的通信。特点:无状态:每次请求独立,服务器不保留客户端状态(通过Cookie/Session解决)。明文传输(HTTP)vs加密传输(HTTPS)。默认端口:HTTP(80),HTTPS(443)。2.HTTP方法(Methods)方法描述幂等性安全
- SYSAUX表空间WRH$_ACTIVE_SESSION_HISTORY占用空间过大的清理办法
jcsx
数据库oracle
SYSAUX表空间WRH$_ACTIVE_SESSION_HISTORY占用空间过大的清理办法一、查看@$ORACLE_HOME/rdbms/admin/awrinfo.sql一般是truncate旧分区。查看snapshotsqlplus/assysdbasetlinesize1000;setpagesize200;colbegin_interval_timeformata30;colend_i
- 【MySQL】监控MySQL
2302_79952574
mysql数据库
目录使用状态变量监控MySQL使用性能模式(PerformanceSchema)监控MySQL1.性能模式2.性能模式设置表3.sys模式使用状态变量监控MySQL使用showstatus语句评估系统运行状况。可以添加范围修饰符global或session来显示全局或本地状态信息。【showglobal/sessionstatus】还可以查询PerformanceSchema数据库的global_
- Sa-Token
上等猿
satokenjava
简介Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权等一系列权限相关问题。官方文档常见功能登录认证本框架用户提交name+password参数,调用登录接口。登录成功,返回这个用户的Token会话凭证用户后续的每次请求,都携带上这个Token。服务器根据Token判断此会话是否登录成功。测试/***
- express中操作cookie和session
前端_学习之路
nodejsexpress
express中操作cookie和session一、操作cookie:设置cookie(给客户端“种”cookie):直接使用res.cookie(‘key’,‘value’,{maxAge:??????})即可。获取cookie(要第三方中间件):安装:npmicookie-parser引入:constcookieParser=require('cookie-parser')使用:app.use
- java微信小程序用户信息解密遇见“javax.crypto.IllegalBlockSizeException: last block incomplete in decryption”报错
进阶的猿猴
微信小程序小程序java
问题:在微信小程序获取到encryptedData,sessionKey,iv后,对获取到的用户信息进行解密的时候出现“javax.crypto.IllegalBlockSizeException:lastblockincompleteindecryption”的错误解决:1.(无用的操作)首先在网上搜,基本没有什么有用的回答,基本上都回答说传的数据有问题,微信传输的数据不太可能出问题2.(无用的
- 22、web前端开发之html5(三)
跟着汪老师学编程
前端html5
六.离线存储与缓存在网络环境不稳定或需要优化资源加载速度的场景下,离线存储与缓存技术显得尤为重要。HTML5引入了多种离线存储和缓存机制,帮助开发者提升用户体验。本节将详细介绍ApplicationCache、localStorage、sessionStorage以及IndexedDB等技术,帮助你理解如何在不同场景下选择合适的存储和缓存策略。1、ApplicationCacheApplicati
- Flask中current_app和g对象
Lyj20170608
WebFlaskFlask上下文current_app
Flask中有两种上下文,请求上下文和应用上下文。请求上下文(requestcontext)request和session都属于请求上下文对象。request:封装了HTTP请求的内容,针对的是http请求。举例:user=request.args.get('user'),获取的是get请求的参数。session:用来记录请求会话中的信息,针对的是用户信息。举例:session['name']=u
- 从入门到实战:JWT 令牌在 Web 开发中的应用指南
超级小狗
jwtspringboot
从入门到实战:JWT令牌在Web开发中的应用指南1.JWT是什么?为什么需要它?JWT(JSONWebToken)是一种轻量级的开放标准(RFC7519),用于在各方之间安全传输JSON格式的信息。它通过数字签名(如HMAC或RSA)确保数据的完整性和可信性,广泛应用于身份认证和授权场景。传统会话管理的痛点:服务端存储压力:Session需存储在服务器内存或数据库中,高并发时扩展困难。跨域限制:C
- Session模拟登录与退登
代码续发
java学习java
一、基本结构页面登录的网页页面表单提交给LoginServlet处理Title/loginServlet"method="post">名称:密码:消息提示${msg}//EL表达式,显示servlet中传递的登录失败信息LoginServlet登录登录成功转发到user.jsp页面,显示用户信息。登录失败,转发到login.jsp页面,并显示登录失败信息。packagenet.xdclass.we
- Chrome更新89版本后,sessionStorage丢失a标签跳转丢失sessionStorage
localStorage作用范围:本地存储,关闭浏览器后,数据依然会保存。同源浏览器窗口可以共享使用localStorage存储的数据。sessionStorage作用范围:只存在于当前会话页面,当会话结束后,数据也随之销毁,在不同的浏览器窗口中共享。也就是存在于当前浏览器页面,页面关闭,数据也会删除。(注意:通过鼠标右键打开的新标签无法共享sessionStorage)而这块对于sessionS
- SpringSecurity JWT:基于令牌的无状态认证实现
程序媛学姐
Spring全家桶Javajava开发语言
文章目录引言一、JWT基本原理与结构二、SpringSecurityJWT依赖配置三、JWT令牌生成与处理四、SpringSecurity配置与过滤器实现五、认证控制器与登录流程实现总结引言在微服务架构与分布式系统日益普及的今天,传统的基于会话(Session)的认证方式面临着诸多挑战。JSONWebToken(JWT)作为一种基于令牌的认证机制,因其无状态、自包含以及易于跨服务传递的特性,已成为
- 使用Python登陆网站
王肇朋
使用Python登陆网站对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登陆,否则无法查看。这是因为HTTP协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登陆了呢?有两种方式:在URI中显式地使用SessionID;利用Cookie,大概过程是登陆一个网站后会在本地保留一个Cookie,当继续浏览这个网站的时候,浏览器会把Cookie连同地址请求一起发送
- micropython 第三方库_python常用框架及第三方库
physixfan
micropython第三方库
python常用框架及第三方库一、Web框架1.Django:开源web开发框架,它鼓励快速开发,并遵循MVC设计,比较庞大,开发周期短。Django的文档最完善、市场占有率最高、招聘职位最多。全套的解决方案,Django象Rails一样,提供全套的解决方案(full-stackframework+batteriesincluded),基本要什么有什么(比如:cache、session、feed、
- TensorFlow之Session
浊酒南街
TensorFlowtensorflow人工智能python
目录前言Tensorflow1.xTensorflow2.x前言会话(Session)是用来执行图中的运算的上下文。所有的运算必须在一个会话中执行。在TensorFlow2.x中,会话的概念已经被简化,默认情况下,所有的操作都会立即执行。Tensorflow1.x静态图(无eagermode)学习额外概念如图、会话、变量、占位符等#Tensorflow1.0实现importtensorflowas
- 禁用ONLY_FULL_GROUP_BY模式
wujiada001
JavaMySQL
这是由于MySQL启用了ONLY_FULL_GROUP_BY模式导致的。以下是禁用该模式的三种方法,结合你的需求选择最合适的方案:一、临时禁用(重启后失效)1.当前会话禁用直接在SQL客户端执行以下命令,仅对当前数据库连接有效:SETSESSIONsql_mode=(SELECTREPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));2.全局禁用修改全局设置,对所
- koa常用中间件
向画
杂记javascript
//koa更轻量,很多都没内置//koa-static静态服务器//koa-router路由//koa-bodyparser解析post请求参数//koa-cors跨域//koa-session会话//koa-multer文件上传//koa-body解析post请求参数//koa-jwt解析token//koa-compose组合中间件//koa-json返回json数据//koa-logger打
- vue3中进行本地存储,读取与删除
水水不水啊
Web开发语言javascriptvue
在Vue3中,可以使用浏览器提供的localStorage或sessionStorage来进行本地存储。具体步骤如下:在Vue组件中,可以通过以下方式来设置localStorage:localStorage.setItem('key','value');其中,key为存储的键名,value为存储的值。在Vue组件中,可以通过以下方式来获取localStorage中的值:localStorage.g
- SpringBoot整合Redis、ApacheSolr和SpringSession
后端springboot
一、简介SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐。它提供了各种starter简化很多繁琐的配置。SpringBoot整合Druid、Mybatis已经司空见惯,在这里就不详细介绍了。今天我们要介绍的是使用SpringBoot整合Redis、ApacheSolr和SpringSession。二、SpringBoot整合RedisRedis是大家比较常用的缓存之一,一般R
- SSH项目负载均衡中的Session一致性解决方案
hellotutu
ssh负载均衡运维
SSH项目负载均衡中的Session一致性解决方案1.粘性会话(SessionSticky)2.Session复制(集群同步)3.集中式Session存储4.客户端存储(Cookie加密)方案选型建议注意事项1.粘性会话(SessionSticky)通过负载均衡器将同一用户的请求固定分发到同一后端服务器,确保Session数据本地存储有效。实现方式:Nginx:使用ip_has
- 前端面试题100题:问答精选与简明解析
薛飞之
前端react.jsjavascript前端框架
HTML5有哪些新特性?语义标签(如,),多媒体标签(如,),离线存储(localStorage,sessionStorage),新的表单控件(如,)。CSS3有哪些新特性?边框圆角(border-radius),阴影(box-shadow,text-shadow),渐变(linear-gradient,radial-gradient),弹性盒模型(flexbox),媒体查询。JavaScript
- 解决 Gorm 中链式查询污染的问题有几种常见的解决方法
xsh219
golang小知识点数据库
解决Gorm中链式查询污染的问题有几种常见的解决方法,关键在于如何确保每个查询链都独立,避免查询条件等状态的共享。下面列出几种常见的解决方法:1.使用Session(&gorm.Session{})重置查询状态Session方法可以创建一个新的查询会话,用于确保每次查询都不会受到上一次查询的影响。你可以通过Session(&gorm.Session{})创建一个新的会话实例,从而避免污染。示例:f
- 探索响应式架构的奇境:Reactive Architecture Patterns Examples
邴坤鸿Jewel
探索响应式架构的奇境:ReactiveArchitecturePatternsExamplesreactiveReactiveArchitecturePatternsfromNFJSSessions项目地址:https://gitcode.com/gh_mirrors/reacti/reactive在当今瞬息万变的技术环境下,构建能够灵活应对高并发、低延迟需求的应用变得至关重要。由此,一款名为Re
- MyBatis代理模式简析
橘子味的奶茶
mybatismybatis代理模式java
在简析代理模式开发之前,先了解一下传统DAO模式开发:在传统DAO模式下,定义接口和实现类,如interfaceEmpDaoclassEmpDaoImplimplementsEmpDao.在实现类中,用SqlSession对象调用selectinsertdeleteupdate等方法实现。目前极为少见,在传统模式下,我们需要知道SqlSession对象实现CURD和参数传递的处理例如:SqlSes
- 解决前后端分离跨域产生的session丢失问题
luckilyil
BUGjavaservlet
目录前言存储用户信息的方式Cookies:Token(令牌):LocalStorage/SessionStorage:Session:Redis:OAuth/OIDC:本篇文章主要讲使用session会话来存储信息会话机制1.何为一次会话,会话从什么时候开始,从什么时候结束?2.cookies如何保持会话,它的工作流程?3.什么是Session?Session的工作原理:问题出现解决方法总结前言现
- SAP-ABAP:ABAP内存和SAP内存详细对比
爱喝水的鱼丶
VIP详情查看专栏SAP-ABAP开发基础详解ABAP开发之必须知道的SAP运维ABAPERP
在SAPABAP中,内存数据(MemoryData)是一种临时存储机制,允许在同一会话或程序之间共享数据。内存数据存储在ABAP内存(ABAPMemory)或SAP内存(SAPMemory)中,具体取决于数据的生命周期和共享范围。以下是关于如何在SAP中保存和使用内存数据的详细说明:—##1.ABAP内存vsSAP内存###ABAP内存-作用范围:仅在当前内部会话(InternalSession)
- ztree设置禁用节点
3213213333332132
JavaScriptztreejsonsetDisabledNodeAjax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
- JVM patch by Taobao
bookjovi
javaHotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
- 将session存储到数据库中
dcj3sjt126com
sqlPHPsession
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
- Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
- 各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
- [简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
- struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
- IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
- String,int,Integer,char 几个类型常见转换
antonyup_2006
htmlsql.net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
- PL/SQL的游标类型
百合不是茶
显示游标(静态游标)隐式游标游标的更新和删除%rowtyperef游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
- 精通Oracle10编程SQL(12)开发包
bijian1013
oracle数据库plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
- 【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
javaeclipsespringtomcatWeb
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
- angular.element
boyitech
AngularJSAngularJS APIangular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
- java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
- sftp 异常,有遇到的吗?求解
Chen.H
javajcraftauthjschjschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
- [生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
- 通过LAC和CID获取经纬度信息
dai_lm
laccid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
- JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第二课
dcj3sjt126com
englishword
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
- linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
- Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环Map迭代Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
- Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
- Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
- 学习编程那点事
lampcy
编程androidPHPhtml5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- 架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
- org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$转义el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
- 用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
- 探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str