当前位置: 首页 > news >正文

计算机毕业设计选题推荐-课程学习微信小程序/安卓APP-项目实战

作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

  • 一、前言
  • 二、开发环境
  • 三、系统界面展示
  • 四、代码参考
  • 五、论文参考
  • 六、系统视频
  • 结语

一、前言

在当今数字化时代,互联网技术的快速发展以及移动设备的普及,为在线教育提供了新的契机。微信小程序和安卓APP等移动应用已经成为人们获取教育资源的重要途径。特别是在高校环境中,学生、老师和管理人员都需要一个便捷的平台来进行课程管理、学习和交流。因此,开发一款针对课程学习的微信小程序/安卓APP具有鲜明的必要性。

尽管目前已经存在一些课程管理工具,但它们主要集中在简单的信息发布和作业提交上,无法满足多元化和个性化的学习需求。此外,这些工具通常只提供基础的课程信息管理,缺乏对课程学习和作业批改的整合,使得学习过程变得繁琐且低效。因此,我们需要一个更加便捷的解决方案来解决这些问题。

本课题旨在开发一款针对课程学习的微信小程序/安卓APP,以满足学生、老师和管理人员在不同场景下的需求。具体功能包括课程分类管理、课程信息管理、课程学习管理、课后作业管理以及作业批改管理等。通过这款应用,用户可以轻松地浏览和选择课程,管理学习进度,以及跟进和评估作业完成情况。

本课题的研究意义在于提供了一个集成的在线学习平台,可以大大提高学生的学习效率,增强学习的自主性。同时,对于老师和管理人员来说,这款应用也提供了方便的工具来管理和监控学生的学习进度。此外,通过数据分析和挖掘,这款应用还可以帮助用户更好地理解学习过程,优化学习策略,提高学习效果。

二、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:SpringBoot
  • 前端:微信小程序/Android+uniapp+Vue

三、系统界面展示

  • 课程学习微信小程序/安卓APP界面展示:
    课程学习微信小程序/安卓APP-课程信息
    课程学习微信小程序/安卓APP-课程详情
    课程学习微信小程序/安卓APP-提交学习进度
    课程学习微信小程序/安卓APP-提交作业任务
    课程学习微信小程序/安卓APP-课程信息管理
    课程学习微信小程序/安卓APP-课后作业管理
    课程学习微信小程序/安卓APP-课程分类管理

四、代码参考

  • 项目实战代码参考:
@Controller
@RequestMapping("/admin")
public class AdminController {@Resource(name = "studentServiceImpl")private StudentService studentService;@Resource(name = "teacherServiceImpl")private TeacherService teacherService;@Resource(name = "courseServiceImpl")private CourseService courseService;@Resource(name = "studentCourseServiceImpl")private StudentCourseService studentCourseService;@Resource(name = "userloginServiceImpl")private UserloginService userloginService;/* ----- 普通方法区 START ----- *//*** List<Course>转List<CourseCustom>* @param courseList* @return* @throws Exception*/List<CourseCustom> getCourseCustomList(List<Course> courseList) throws Exception{List<CourseCustom> list = new ArrayList<CourseCustom>();for (Course course : courseList) {CourseCustom courseCustom = new CourseCustom();BeanUtils.copyProperties(course,courseCustom);Integer teacherId = course.getTeacherId();if(teacherId != null) {Teacher teacher = teacherService.findById(teacherId);String teacherName = teacher.getName();courseCustom.setTeacherName(teacherName);} else {courseCustom.setTeacherName("");}list.add(courseCustom);}return list;}/*** Course转CourseCustom* @param course* @return* @throws Exception*/CourseCustom getCourseCustom(Course course) throws Exception{CourseCustom courseCustom = new CourseCustom();BeanUtils.copyProperties(course,courseCustom);Integer teacherId = course.getTeacherId();if(teacherId != null) {Teacher teacher = teacherService.findById(teacherId);String teacherName = teacher.getName();courseCustom.setTeacherName(teacherName);} else {courseCustom.setTeacherName("");}return courseCustom;}/* ----- 普通方法区 END ----- *//* ----- 课程管理区 START ----- */@RequestMapping("/showCourse")public String showCourse(Model model, Integer page) throws Exception {List<Course> list = null;//页码对象PagingVO pagingVO = new PagingVO();//设置总页数pagingVO.setTotalCount(courseService.getCountCourse());if (page == null || page == 0) {pagingVO.setToPageNo(1);list = courseService.findByPaging(1);} else {pagingVO.setToPageNo(page);list = courseService.findByPaging(page);}List<CourseCustom> courseCustomList = getCourseCustomList(list);model.addAttribute("courseCustomList", courseCustomList);model.addAttribute("pagingVO", pagingVO);return "admin/showCourse";}@RequestMapping(value = "/editCourse", method = {RequestMethod.GET})public String editCourseUI(Integer id, Model model) throws Exception {if (id == null) {return "redirect:/admin/showCourse";}Course course = courseService.findById(id);if (course == null) {throw new CustomException("未找到该课程");}List<Teacher> list = teacherService.findAll();model.addAttribute("teacherList", list);model.addAttribute("course", course);return "admin/editCourse";}@RequestMapping(value = "/editCourse", method = {RequestMethod.POST})public String editCourse(Course course) throws Exception {courseService.upadteById(course);return "redirect:/admin/showCourse";}@RequestMapping("/removeCourse")public String removeCourse(Integer id) throws Exception {if (id == null) {return "admin/showCourse";}boolean flag = courseService.removeById(id);//删除失败,说明selectCourse表中存在关联数据,先删除关联信息while(flag == false) {List<StudentCourse> lists = studentCourseService.findByCourseID(id);for (StudentCourse studentCourse: lists) {studentCourseService.remove(studentCourse);}flag = courseService.removeById(id);}return "redirect:/admin/showCourse";}@RequestMapping(value = "/selectCourse", method = {RequestMethod.POST})public String selectCourse(String name, Model model) throws Exception {List<Course> list = courseService.findByName(name);List<CourseCustom> courseCustomList = getCourseCustomList(list);model.addAttribute("courseCustomList", courseCustomList);return "admin/showCourse";}@RequestMapping(value = "/addCourse", method = {RequestMethod.GET})public String addCourseUI(Model model) throws Exception {List<Teacher> list = teacherService.findAll();model.addAttribute("teacherList", list);return "admin/addCourse";}@RequestMapping(value = "/addCourse", method = {RequestMethod.POST})public String addCourse(Course course) throws Exception {courseService.save(course);return "redirect:/admin/showCourse";}/* ----- 课程管理区 END ----- *//* ----- 学生管理区 START ----- */@RequestMapping("/showStudent")public String showStudent(Model model, Integer page) throws Exception {List<Student> list = null;//页码对象PagingVO pagingVO = new PagingVO();//设置总页数pagingVO.setTotalCount(studentService.getCountStudent());if (page == null || page == 0) {pagingVO.setToPageNo(1);list = studentService.findByPaging(1);} else {pagingVO.setToPageNo(page);list = studentService.findByPaging(page);}model.addAttribute("studentList", list);model.addAttribute("pagingVO", pagingVO);return "admin/showStudent";}@RequestMapping(value = "/addStudent", method = {RequestMethod.GET})public String addStudentUI() throws Exception {return "admin/addStudent";}@RequestMapping(value = "/addStudent", method = {RequestMethod.POST})public String addStudent(Student student) throws Exception {Userlogin userlogin = null;if(userlogin != null) {throw new CustomException("该名称已被注册,无法添加!");} else {userlogin = new Userlogin();userlogin.setName(student.getName());userlogin.setPassword(SHA1Utils.entryptPassword(GlobalConstant.DEFAULT_PASSWD));userlogin.setRole(GlobalConstant.ROle_Type.STUDENT.getIndex());userloginService.save(userlogin);student.setId(userlogin.getId());student.setBalance(GlobalConstant.DEFAULT_BALANCE);studentService.save(student);}return "redirect:/admin/showStudent";}@RequestMapping(value = "/editStudent", method = {RequestMethod.GET})public String editStudentUI(Integer id, Model model) throws Exception {Student student = null;student = studentService.findById(id);if(student == null) {throw new CustomException("该用户不存在!");}model.addAttribute("student", student);return "admin/editStudent";}@RequestMapping(value = "/editStudent", method = {RequestMethod.POST})public String editStudent(Student student) throws Exception {Userlogin userLogin = userloginService.findById(student.getId());userLogin.setName(student.getName());userloginService.updateById(student.getId(),userLogin);studentService.updataById(student);return "redirect:/admin/showStudent";}@RequestMapping(value = "/removeStudent", method = {RequestMethod.GET} )public String removeStudent(Integer id) throws Exception {boolean flag = studentService.removeById(id);//flag false 表示该学生有课程,递归删除该学生课程while(flag == false){List<StudentCourse> lists = studentCourseService.findByStudentID(id);for (StudentCourse studentCourse: lists) {studentCourseService.remove(studentCourse);}flag = studentService.removeById(id);}userloginService.removeById(id);return "redirect:/admin/showStudent";}@RequestMapping(value = "selectStudent", method = {RequestMethod.POST})public String selectStudent(String name, Model model) throws Exception {List<Student> list = studentService.findByName(name);model.addAttribute("studentList", list);return "admin/showStudent";}/* ----- 学生管理区 END ----- *//* ----- 教师管理区 START ----- */@RequestMapping("/showTeacher")public String showTeacher(Model model, Integer page) throws Exception {List<Teacher> list = null;//页码对象PagingVO pagingVO = new PagingVO();//设置总页数pagingVO.setTotalCount(teacherService.getCountTeacher());if (page == null || page == 0) {pagingVO.setToPageNo(1);list = teacherService.findByPaging(1);} else {pagingVO.setToPageNo(page);list = teacherService.findByPaging(page);}model.addAttribute("teacherList", list);model.addAttribute("pagingVO", pagingVO);return "admin/showTeacher";}@RequestMapping(value = "/addTeacher", method = {RequestMethod.GET})public String addTeacherUI() throws Exception {return "admin/addTeacher";}@RequestMapping(value = "/addTeacher", method = {RequestMethod.POST})public String addTeacher(Teacher teacher) throws Exception {Userlogin userlogin = null;userlogin = userloginService.findByName(teacher.getName());if(userlogin != null) {throw new CustomException("该名称已被注册,无法注册!");} else {userlogin = new Userlogin();userlogin.setName(teacher.getName());userlogin.setPassword(SHA1Utils.entryptPassword(GlobalConstant.DEFAULT_PASSWD));userlogin.setRole(GlobalConstant.ROle_Type.TEACHER.getIndex());userloginService.save(userlogin);teacher.setId(userlogin.getId());teacherService.save(teacher);}return "redirect:/admin/showTeacher";}@RequestMapping(value = "/editTeacher", method = {RequestMethod.GET})public String editTeacherUI(Integer id, Model model) throws Exception {Teacher teacher = teacherService.findById(id);if (teacher == null) {throw new CustomException("未找到该教师");}model.addAttribute("teacher", teacher);return "admin/editTeacher";}@RequestMapping(value = "/editTeacher", method = {RequestMethod.POST})public String editTeacher(Teacher teacher) throws Exception {teacherService.updateById(teacher);return "redirect:/admin/showTeacher";}@RequestMapping("/removeTeacher")public String removeTeacher(Integer id) throws Exception {boolean flag = teacherService.removeById(id);if(flag == false) {throw new CustomException("该老师存在相应课程,无法删除");}userloginService.removeById(id);return "redirect:/admin/showTeacher";}@RequestMapping(value = "selectTeacher", method = {RequestMethod.POST})public String selectTeacher(String name, Model model) throws Exception {List<Teacher> list = teacherService.findByName(name);model.addAttribute("teacherList", list);return "admin/showTeacher";}/* ----- 教师管理区 END ----- *//* ----- 其他区 START ----- */@RequestMapping(value = "/logout")public String logout(){return "redirect:/logout";}/*** 普通用户密码重置UI处理* @return* @throws Exception*/@RequestMapping("/userPasswordRest")public String userPasswordRestUI() throws Exception {return "admin/userPasswordRest";}/*** 普通用户密码重置处理函数* @param userlogin Userlogin对象* @return* @throws Exception*/@RequestMapping(value = "/userPasswordRest", method = {RequestMethod.POST})public String userPasswordRest(Userlogin userlogin) throws Exception {Userlogin u = userloginService.findByName(userlogin.getName());if (u != null) {if (u.getRole() == 0) {throw new CustomException("该账户为管理员账户,无法修改");}u.setPassword(SHA1Utils.entryptPassword(userlogin.getPassword()));userloginService.updateByName(userlogin.getName(), u);} else {throw new CustomException("未找到该用户");}return "admin/userPasswordRest";}/*** 重置当前账户密码* @return* @throws Exception*/@RequestMapping("/passwordRest")public String passwordRestUI() throws Exception {return "admin/passwordRest";}/* ----- 其他区 END ----- */
}
@Controller
public class RestPasswordController {@Resource(name = "userloginServiceImpl")private UserloginService userloginService;/*** 重置当前账户密码* @param oldPassword* @param password1* @return* @throws Exception*/@RequestMapping(value = "/passwordRest", method = {RequestMethod.POST})public String passwordRest(String oldPassword, String password1) throws Exception {Subject subject = SecurityUtils.getSubject();String username = (String) subject.getPrincipal();Userlogin userlogin = userloginService.findByName(username);if (!SHA1Utils.validatePassword(oldPassword,userlogin.getPassword())) {throw new CustomException("旧密码不正确");} else {userlogin.setPassword(SHA1Utils.entryptPassword(password1));userloginService.updateByName(username, userlogin);}return "redirect:/logout";}}

五、论文参考

  • 计算机毕业设计选题推荐-课程学习微信小程序/安卓APP论文参考:
    计算机毕业设计选题推荐-课程学习微信小程序/安卓APP论文参考

六、系统视频

课程学习微信小程序/安卓APP项目视频:

计算机毕业设计选题推荐-课程学习课微信小程序/安卓APP

结语

计算机毕业设计选题推荐-课程学习微信小程序/安卓APP-项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

相关文章:

计算机毕业设计选题推荐-课程学习微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

OracleLinux9 安装 fcgiwrap 并添加 selinux 规则以在 nginx 调用

fcgiwrap在其他系统上一般直接输命令就能安装&#xff0c;但是OracleLinux9会提示找不到软件包。安装成功后&#xff0c;selinux也会阻碍nginx的调用。 原因 OracleLinux9的这个软件包位于默认不启用的developer仓库。 安装fcgiwrap 编辑配置&#xff0c;将repo启用 sudo v…...

Django框架

目录 一.Django框架介绍 1.什么是Django框架 2.什么是web 3.web应用程序的优点 4.web应用程序的缺点 5.什么是web框架 二.wsgiref模块的使用 三.Django框架的学习 1.python中的主流框架&#xff1a; 2.如何使用Django &#xff08;1&#xff09;安装 &#xff08;2&a…...

用C语言来实现冒泡排序

以下是使用C语言实现冒泡排序的代码示例&#xff1a; #include<stdio.h>void bubbleSort(int arr[], int n) {int i, j;for (i 0; i < n-1; i){for (j 0; j < n-i-1; j){if (arr[j] > arr[j1]){// 交换arr[j]和arr[j1]int temp arr[j];arr[j] arr[j1];arr[…...

flink的副输出sideoutput单元测试

背景 处理函数中处理输出主输出的数据流数据外,也可以输出多个其他的副输出的数据流数据&#xff0c;当我们的处理函数有副输出时&#xff0c;我们需要测试他们功能的正确性&#xff0c;本文就提供一个测试flink副输出单元测试的例子 测试flink副输出单元测试 首先看一下处理…...

使用Inis搭配内网穿透实现Ubuntu上快速搭建博客网站远程访问

文章目录 前言1. Inis博客网站搭建1.1. Inis博客网站下载和安装1.2 Inis博客网站测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总…...

基于蝴蝶算法优化概率神经网络PNN的分类预测 - 附代码

基于蝴蝶算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蝴蝶算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蝴蝶优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…...

flink的KeyedBroadcastProcessFunction测试

背景 我们经常需要对KeyedBroadcastProcessFunction函数进行单元测试&#xff0c;以确保上线之前这个函数的功能是正常的&#xff0c;包括里面的广播状态和键值分区状态 测试KeyedBroadcastProcessFunction类 Testpublic void testHarnessForKeyedBroadcastProcessFunction()…...

【pytorch深度学习】torch-张量Tensor

torch-张量Tensor 文章目录 torch-张量Tensor1. 张量Tensor 1. 张量Tensor torch.tensor() # 创建一个标量&#xff08;0维张量&#xff09; scalar_tensor torch.tensor(3.14) # 创建一个向量&#xff08;1维张量&#xff09; vector_tensor torch.tensor([1, 2, 3]) # 创…...

odoo16前端框架源码阅读——rpc_service.js

odoo16前端框架源码阅读——rpc_service.js 先介绍点背景知识&#xff0c;这样方便阅读代码。 一、 JSONRPC的规范 https://www.jsonrpc.org/specification 中文翻译版本&#xff1a;https://wiki.geekdream.com/Specification/json-rpc_2.0.html JSON-RPC是一个无状态且轻…...

Nat. Med. | 成年人的城市生活环境对心理健康的影响

今天为大家介绍的是来自Jiayuan Xu和Gunter Schumann团队的一篇论文。城市居民暴露于许多可能相互结合和相互作用的环境因素&#xff0c;这些因素可能影响心理健康。目前尚未有工作尝试建模城市生活的复杂实际暴露与大脑和心理健康之间的关系&#xff0c;以及这如何受遗传因素调…...

stm32 WIFI模块_8266使用

使用以上配置可以正常回应&#xff0c;其中无论勾选或者不勾选DTR/RTS都可以得到正常回应 ATCWMODE?表示查询当前WiFi状态是处于热点模式&#xff08;AP模式&#xff09;或者是连接其他WiFi的那个模式。通过图片看出这个符号不能省略。 设置AP热点命令格式&#xff1a;ATCWSAP…...

【C/C++】malloc 或者 new 动态分配内存

1. malloc 是一个在 C 语言中用于动态分配内存的函数。 通过 malloc 函数&#xff0c;我们可以在程序运行时请求一定大小的内存块&#xff0c;然后将该内存块用于存储数据。 malloc 函数的声明如下&#xff1a; void* malloc(size_t size);它接受一个参数 size&#xff0c;表…...

如果让你重新开始学 C/C++,你的学习路线会是怎么选择?

1. 第一阶段 学好 C 语言和 Linux 1.1 学好 C 语言 无论你是科班还是非科班&#xff0c;建议你一定要学好 C 语言&#xff0c;它应该作为你必须掌握好的语言。你要熟悉 C 语言的基本语法&#xff0c;包括&#xff1a; 顺序、条件、循环三大控制语句 C 中几大基元数据类型的用…...

PCL安装与使用

1 apt安装 ubuntu20.04及以上版本下可以直接通过apt方式安装pcl编译好的二进制文件,二进制安装的版本为1.10。 sudo apt update sudo apt install libpcl-dev 2 源码安装 在pcl的github上下载对应的版本进行安装&#xff1a; https://github.com/PointCloudLibrary/pcl/rel…...

力扣刷题-二叉树-对称二叉树

101 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 思路 我的思路…...

常见面试题-计算机网络相关

1.OSI 七层模型&#xff1f; OSI 七层模型&#xff1a;应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP 五层模型&#xff1a;应用层、传输层、网络层、链路层、物理层 应用层 应用层是由网络应用程序使用的&#xff0c;是离用户最近的一层 应用层通过…...

leetcode做题笔记231. 2 的幂

给你一个整数 n&#xff0c;请你判断该整数是否是 2 的幂次方。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在一个整数 x 使得 n 2x &#xff0c;则认为 n 是 2 的幂次方。 示例 1&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;tr…...

AI主播“败走”双11,想用AI省成本的商家醒醒吧,程序员不必担心失业,发展空间依旧很大

目录 1 2 3 “AI人”并不算是新鲜事&#xff0c;随着AI的发展&#xff0c;AI主播也开始悄悄进入到直播间中。 持续无间断的直播、比人工费便宜等优势&#xff0c;让很多商家选择了AI主播。 AI主播到底好不好用&#xff1f;终于在今年“双11”现出了原形。 1 AI主播没火过半年…...

◢Django 自写分页与使用

目录 1、设置分页样式,并展示到浏览器 2、模拟页码 3、生成分页 4、数据显示 5、上一页下一页 6、数据库的数据分页 7、封装分页 8、使用封装好的分页 建立好app后&#xff0c;设置路径path(in2/,views.in2)&#xff0c;视图def in2(request): &#xff0c;HTML: in2.html…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...