畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)

畅阅读系统小程序

目录

基于java的畅阅读系统小程序设计与实现

一、前言

二、系统功能设计

 三、系统实现

 四、数据库设计

1、实体ER图

五、核心代码 

六、论文参考

七、最新计算机毕设选题推荐

八、源码获取:

 


博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️

主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。

🍅文末获取源码联系🍅

基于java的畅阅读系统小程序设计与实现

一、前言

畅阅读系统小程序,可以实现目标用户群需要的功能,首先对畅阅读微信小程序进行需求分析,得出畅阅读微信小程序主要功能。接着对畅阅读微信小程序进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等;详细设计主要包括畅阅读微信小程序数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对畅阅读微信小程序进行了功能测试,并对测试结果进行了分析总结,得出畅阅读微信小程序存在的不足及需要改进的地方,为以后的畅阅读微信小程序维护提供了方便,同时也为今后开发类似畅阅读微信小程序提供了借鉴和帮助。

二、系统功能设计

 三、系统实现

畅阅读微信小程序登录界面,通过填写账号、密码、登录用户类型等信息进行登录,如图5-1所示。

图5-1登录界面图

用户注册,通过填写用户名、密码、姓名、性别、身份证、手机等信息,输入完成后选择提交即可注册成功,如图5-2所示。

图5-2用户注册界面图

用户登录进入首页,可以进行首页、书城、书架、我的等功能模块的查看与操作,如图5-3所示。

图5-3系统首页界面图

书城,在书城页面可以查看书籍名称、分类、字数、章节、封面、作者、价格、上架日期、是否完结、内容1、内容2、内容3等信息,进行购买,加入书架,如图5-4所示。

图5-4书城界面图

我的,在我的页面可以查看充值信息、扣费信息、书城、购买章节、章节信息、留言板等详细信息,如图5-5所示。

图5-5我的界面图

管理员通过填写用户名、密码、角色进行登录如图5-7所示。

图5-7管理员登录界面图

管理员通过填写用户名、密码、角色进行登录如图5-7所示。

图5-7管理员登录界面图

 四、数据库设计

1、实体ER图

(1)设计的商品实体,其具备的属性如下图。

图4.4 商品实体属性图

(2)设计的书城实体,其具备的属性如下图。

图4.5 书城实体属性图

表2:书架

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shujimingcheng

varchar

200

书籍名称

fenlei

varchar

200

分类

zishu

varchar

200

字数

zhangjie

varchar

200

章节

fengmian

varchar

200

封面

yonghuming

varchar

200

用户名

userid

bigint

用户id

表3:书城

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shujimingcheng

varchar

200

书籍名称

fenlei

varchar

200

分类

fengmian

varchar

200

封面

zishu

varchar

200

字数

zhangjie

varchar

200

章节

neirong1

longtext

4294967295

内容1

neirong2

longtext

4294967295

内容2

neirong3

longtext

4294967295

内容3

zuozhe

varchar

200

作者

jiage

int

价格

shangjiariqi

date

上架日期

shifouwanjie

varchar

200

是否完结

五、核心代码 

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.BumenEntity;
import com.entity.view.BumenView;import com.service.BumenService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 部门* 后端接口* @author * @email * @date 2021-05-07 10:42:31*/
@RestController
@RequestMapping("/bumen")
public class BumenController {@Autowiredprivate BumenService bumenService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,BumenEntity bumen,HttpServletRequest request){EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,BumenEntity bumen, HttpServletRequest request){EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( BumenEntity bumen){EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); return R.ok().put("data", bumenService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(BumenEntity bumen){EntityWrapper< BumenEntity> ew = new EntityWrapper< BumenEntity>();ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); BumenView bumenView =  bumenService.selectView(ew);return R.ok("查询部门成功").put("data", bumenView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){BumenEntity bumen = bumenService.selectById(id);return R.ok().put("data", bumen);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){BumenEntity bumen = bumenService.selectById(id);return R.ok().put("data", bumen);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody BumenEntity bumen, HttpServletRequest request){bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bumen);bumenService.insert(bumen);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody BumenEntity bumen, HttpServletRequest request){bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bumen);bumenService.insert(bumen);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BumenEntity bumen, HttpServletRequest request){//ValidatorUtils.validateEntity(bumen);bumenService.updateById(bumen);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){bumenService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<BumenEntity> wrapper = new EntityWrapper<BumenEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = bumenService.selectCount(wrapper);return R.ok().put("count", count);}}package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.GangweiEntity;
import com.entity.view.GangweiView;import com.service.GangweiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 岗位* 后端接口* @author * @email * @date 2021-05-07 10:42:31*/
@RestController
@RequestMapping("/gangwei")
public class GangweiController {@Autowiredprivate GangweiService gangweiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,GangweiEntity gangwei,HttpServletRequest request){EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();PageUtils page = gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,GangweiEntity gangwei, HttpServletRequest request){EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();PageUtils page = gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( GangweiEntity gangwei){EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();ew.allEq(MPUtil.allEQMapPre( gangwei, "gangwei")); return R.ok().put("data", gangweiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(GangweiEntity gangwei){EntityWrapper< GangweiEntity> ew = new EntityWrapper< GangweiEntity>();ew.allEq(MPUtil.allEQMapPre( gangwei, "gangwei")); GangweiView gangweiView =  gangweiService.selectView(ew);return R.ok("查询岗位成功").put("data", gangweiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){GangweiEntity gangwei = gangweiService.selectById(id);return R.ok().put("data", gangwei);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){GangweiEntity gangwei = gangweiService.selectById(id);return R.ok().put("data", gangwei);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody GangweiEntity gangwei, HttpServletRequest request){gangwei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(gangwei);gangweiService.insert(gangwei);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody GangweiEntity gangwei, HttpServletRequest request){gangwei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(gangwei);gangweiService.insert(gangwei);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody GangweiEntity gangwei, HttpServletRequest request){//ValidatorUtils.validateEntity(gangwei);gangweiService.updateById(gangwei);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){gangweiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<GangweiEntity> wrapper = new EntityWrapper<GangweiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = gangweiService.selectCount(wrapper);return R.ok().put("count", count);}}package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.JixiaokaoheEntity;
import com.entity.view.JixiaokaoheView;import com.service.JixiaokaoheService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 绩效考核* 后端接口* @author * @email * @date 2021-05-07 10:42:31*/
@RestController
@RequestMapping("/jixiaokaohe")
public class JixiaokaoheController {@Autowiredprivate JixiaokaoheService jixiaokaoheService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,JixiaokaoheEntity jixiaokaohe,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {jixiaokaohe.setYuangonggonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();PageUtils page = jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();PageUtils page = jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( JixiaokaoheEntity jixiaokaohe){EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, "jixiaokaohe")); return R.ok().put("data", jixiaokaoheService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(JixiaokaoheEntity jixiaokaohe){EntityWrapper< JixiaokaoheEntity> ew = new EntityWrapper< JixiaokaoheEntity>();ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, "jixiaokaohe")); JixiaokaoheView jixiaokaoheView =  jixiaokaoheService.selectView(ew);return R.ok("查询绩效考核成功").put("data", jixiaokaoheView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){JixiaokaoheEntity jixiaokaohe = jixiaokaoheService.selectById(id);return R.ok().put("data", jixiaokaohe);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){JixiaokaoheEntity jixiaokaohe = jixiaokaoheService.selectById(id);return R.ok().put("data", jixiaokaohe);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){jixiaokaohe.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jixiaokaohe);jixiaokaoheService.insert(jixiaokaohe);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){jixiaokaohe.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jixiaokaohe);jixiaokaoheService.insert(jixiaokaohe);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){//ValidatorUtils.validateEntity(jixiaokaohe);jixiaokaoheService.updateById(jixiaokaohe);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){jixiaokaoheService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<JixiaokaoheEntity> wrapper = new EntityWrapper<JixiaokaoheEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {wrapper.eq("yuangonggonghao", (String)request.getSession().getAttribute("username"));}int count = jixiaokaoheService.selectCount(wrapper);return R.ok().put("count", count);}}

六、论文参考

七、最新计算机毕设选题推荐

最新计算机软件毕业设计选题大全-CSDN博客

八、源码获取:

 大家点赞、收藏、关注、评论啦 、👇🏻获取联系方式在文章末尾👇🏻

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/55356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机的宠物自动投喂系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温湿度传感器DS1302时钟模块蓝牙步进电机按键、蜂鸣器等模块构成。适用于猫猫/狗狗宠物自动喂食器等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间和温湿度 2、温湿度传感器DHT11采集环境温湿度 3、时…

数据在内存中的存储【上】

一.整型在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下面的内容&#xff1a; 整数的2进制表示方法有三种&#xff0c;即 原码、反码和补码 有符号的整数&#xff0c;三种表示方法均有符号位和数值位两部分&#xff0c;符号位都是用0表示"正"&#xff…

数据结构——计数、桶、基数排序

目录 引言 计数排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 桶排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 基数排序 1.算法思想 2.算法步骤 3.代码实现 4.复杂度分析 排序算法的稳定性 1.稳定性的概念 2.各个排序算法的稳定性 结束语 引…

在WPF中实现多语言切换的四种方式

在WPF中有多种方式可以实现多语言&#xff0c;这里提供几种常用的方式。 一、使用XML实现多语言切换 使用XML实现多语言的思路就是使用XML作为绑定的数据源。主要用到XmlDataProvider类. 使用XmlDataProvider.Source属性指定XML文件的路径或通过XmlDataProvider.Document指定…

IDEA 系列产品 下载

准备工作 下载 下载链接&#xff1a;https://www.123865.com/ps/EF7OTd-yVHnH 仅供参考 环境 演示环境&#xff1a; 操作系统&#xff1a;windows10 产品&#xff1a;IntelliJ IDEA 版本&#xff1a;2024.1.2 注意&#xff1a;如果需要其他产品或者版本可以自行下载&#xff0…

深入理解Dubbo源码核心原理-Part3

到此开始讲解Dubbo消费端的源码 在消费一端&#xff0c;需要关注两件事情。第一&#xff0c;接口的proxy如何生成。第二&#xff0c;请求如何发送。 首先看到启动类 接下来看真正inject方法 现在需要思考&#xff0c;待注入的Bean从哪儿来&#xff0c;这个Bean必然注入的是一…

(16)MATLAB仿真Nakagami-m分布1

文章目录 前言一、Nakagami分布二、MATLAB建模代码三、仿真结果画图四、总结 前言 Nakagami衰落模型最初是由于该模型与短波电离层传播的经验结果相匹配而提出的。它还用于仿真来自多个干扰源的情况&#xff0c;因为多个独立且同分布&#xff08;i.i.d&#xff09;的瑞利分布随…

Flask-3

文章目录 ORMFlask-SQLAlchemySQLAlchemy中的session对象数据库连接设置常用的SQLAlchemy字段类型常用的SQLAlchemy列约束选项 数据库基本操作模型类定义 数据表操作创建和删除表 数据操作基本查询SQLAlchemy常用的查询过滤器SQLAlchemy常用的查询结果方法多条件查询分页器聚合…

Ajax ( 是什么、URL、axios、HTTP、快速收集表单 )Day01

AJAX 一、Ajax是什么1.1名词解释1.1.1 服务器1.1.2 同步与异步1. 同步&#xff08;Synchronous&#xff09;2. 异步&#xff08;Asynchronous&#xff09;3. 异步 vs 同步 场景4. 异步在 Web 开发中的常见应用&#xff1a; 1.2 URL 统一资源定位符1.2.1 URL - 查询参数1.2.2 ax…

JavaSE——面向对象8:Object类详解(==与equals的区别、hashCode、toString方法)

目录 一、与equals()的区别 (一)是一个比较运算符 (二)equals是Object类中的方法&#xff0c;只能判断引用类型 (三)equals方法重写练习 1.练习1 2.练习2 3.练习3 二、hashCode方法 三、toString方法 1.默认返回&#xff1a;全类名(包名类名)哈希值的十六进制 (1)不…

unreal engine5制作动作类游戏时,我们使用刀剑等武器攻击怪物或敌方单位时,发现攻击特效、伤害等没有触发

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题分析二、解决方法1. 添加项目设置碰撞检测通道2.玩家角色碰撞设置3.怪物角色碰撞预设 最终效果 前言 在使用unreal engine5制作动作类游戏时&#xff0c;我们使用刀剑等武器攻击怪物或敌方单位时&#xff0c;发现攻击特效…

基于Hive和Hadoop的用电量分析系统

本项目是一个基于大数据技术的用电量分析系统&#xff0c;旨在为用户提供全面的电力消耗信息和深入的用电量分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 Spark…

Python中流行的开源OCR项目

以下是一些Python中流行的开源OCR项目&#xff1a; PaddleOCR&#xff1a;由百度开发的OCR工具库&#xff0c;支持多种语言的文字识别&#xff0c;包括中英文&#xff0c;同时支持倾斜、竖排等多种方向的文字识别。它提供了超轻量级的PP-OCRv3模型&#xff0c;适合在资源受限的…

`git restore` 和 `git checkout` 用于丢弃工作区的改动, `git switch` 和 `git checkout` 用来切换分支

git restore 和 git checkout 都可以用于丢弃工作区的改动 但它们有一些区别&#xff0c;尤其是在 Git 2.23 引入了新的命令后。 主要区别 git checkout 是一个多用途命令&#xff1a; 它用于切换分支。它还可以用于恢复工作区中特定文件的更改。由于功能过于复杂&#xff0c…

Flutter 3.24 AAPT: error: resource android:attr/lStar not found.

在Android build,gradle下面&#xff0c;添加右边红框的代码&#xff1a; subprojects {afterEvaluate { project ->if (project.plugins.hasPlugin("com.android.application") ||project.plugins.hasPlugin("com.android.library")) {project.androi…

【MySQL】SQL介绍+基础+DDL+数据备份+还原

目录 一、DDL建库建表 1. 数据库 2. 内部4特征 3. 外部4特征 4. 数据库结构 5. SQL语句分类&#xff08;重点&#xff09; 6. 注意 7. 数据库表的字段类型 8. 存储引擎 9. 数据库表的操作 二、三范式 1. 什么是范式 2. 约束作用 3. 三范式 4. 第一范式&#xff…

【Android 14源码分析】Activity启动流程-2

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

Visual Studio C# 编写加密火星坐标转换

Visual Studio C# 编写加密火星坐标转换 1、WGS84坐标转GCJ02火星坐标2、GCJ02火星坐标转WGS84坐标&#xff08;回归计算&#xff09;3、GCJ02火星坐标转BD09百度坐标4、BD09百度坐标转GCJ02火星坐标&#xff08;回归计算&#xff09;5、坐标公共转换类6、地图显示7、程序简单界…

检查jar冲突,查找存在相同class的jar

写在前面 本文看下如何查找jar冲突&#xff0c;即查找哪些jar包中存在相同的class。如果是存在相同jar的不同版本&#xff0c;基本一眼就能看出来&#xff0c;然后结合maven的依赖关系将其剔除掉即可&#xff0c;但是当你遇到了有人手动拷贝某些class到jar包中导致冲突的情况时…

【AI知识点】维度灾难(curse of dimensionality)

维度灾难&#xff08;curse of dimensionality&#xff09; 是指在处理高维数据时&#xff0c;随着维度的增加&#xff0c;数据的性质和空间结构变得越来越复杂&#xff0c;导致许多常见的算法和技术在高维空间中效率低下或效果变差的问题。 这个概念最早是由Richard Bellman在…