JAVA:jsp+springboot 配置maven兼容版本
Java17 | maven依赖:如果中央库和其他镜像找不到包, 可以访问下面的网址找替代包 <!-- Maven Repository: Search/Browse/Explore (mvnrepository.com) --> |
spring-boot版本号3.2.5 1.无需配置驱动,有内置数据库驱动 2.能自动扫描配置类。boot2.7.5版本的自动扫描不好用。 | <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.5</version> |
jsp前端包的类型 | <packaging>war</packaging> |
Tomcat Starter: 嵌入式 Tomcat 服务器,用于 Web 请求处理。 | <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> |
Servlet API:6.1.0-M1 Servlet API: 标准 Java Servlet API,用于 Web 请求。 | <artifactId>jakarta.servlet-api</artifactId> <version>6.1.0-M1</version> |
JSP API: 标准 JSP API,用于处理 JSP 文件。 JSP API: 3.1.0 | <artifactId>jakarta.servlet.jsp-api</artifactId> <version>3.1.0</version> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> tomcat10少了jsp-api这个包,所以要额外添加jsp-api依赖 |
Jasper10.1.2 Jasper: 嵌入式 JSP 引擎,用于解析 JSP 文件。 | <artifactId>tomcat-embed-jasper</artifactId> <version>10.1.20</version> |
JSTL: 3.0.0 3.0.1 为 JSP 提供标准标签库, 用于增强 JSP 文件的功能 | <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>3.0.0</version> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>3.0.1</version> |
lombok:简化Java编程的开源库 比如:
| 用脚手架增加就行了
|
JPA 3.2.5 Spring Boot提供的一个用于简化JPA(Java Persistence API)开发 `spring-boot-starter-data-jpa` 是Spring Boot提供的一个用于简化JPA(Java Persistence API)开发的入门包。它提供了一系列开箱即用的功能,以简化数据库操作和数据持久化开发。以下是其主要功能和亮点: 1. **简化配置**:`spring-boot-starter-data-jpa`自动引入了JPA和Hibernate等必要的依赖,并提供了自动配置,使得开发者可以更快速地搭建起一个数据访问层。 2. **Repository接口**:它提供了`CrudRepository`、`JpaRepository`等基础接口,可以自动生成CRUD操作(增删改查)的方法,无需手动实现。 3. **查询方法生成**:Spring Data JPA允许通过在Repository接口中定义符合特定命名规范的方法,自动生成对应的查询逻辑,如`findByUsername`、`findAllByAgeBetween`等,极大地简化了查询操作。 4. **自定义查询**:除了自动生成的方法,开发者还可以通过`@Query`注解在接口方法上定义自定义查询,支持JPQL(Java Persistence Query Language)或原生SQL查询。 5. **实体映射**:通过JPA注解(如`@Entity`、`@Table`、`@Id`等),可以将Java对象与数据库表映射起来,实现对象-关系映射(ORM),从而以对象的方式操作数据。 6. **事务管理**:`spring-boot-starter-data-jpa`提供了事务管理支持,通过`@Transactional`注解可以指定方法级别的事务控制,确保数据一致性。 7. **分页和排序**:`Pageable`和`Sort`接口提供了简单的分页和排序功能,可以方便地进行复杂的查询操作。 8. **Hibernate集成**:作为Spring Data JPA的一部分,它默认集成了Hibernate框架,可以利用Hibernate的特性,如懒加载、缓存等,提高数据库访问性能。 总之,`spring-boot-starter-data-jpa`通过自动配置、自动生成CRUD操作、实体映射、事务管理等功能,极大地简化了Java应用的数据持久化开发,使开发者可以专注于业务逻辑开发,提高开发效率。 | <artifactId>spring-boot-starter-data-jpa</artifactId> <version>3.2.5</version> 在国内mapper比JPA更适合复杂的业务场景 去掉JPA,使用mapper(mybatis) |
MybatisPlus MyBatis Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。下面是 MyBatis Plus 的一些主要用途和特点: 1. **自动代码生成**:MyBatis Plus 提供了代码生成器,可以自动根据数据库表生成对应的模型(Entity)、映射文件(Mapper XML)以及对应的 Mapper 接口等。这极大地减少了重复的编码工作,提高了开发效率。 2. **无侵入性**:MyBatis Plus 在 MyBatis 的基础上进行增强,不改变 MyBatis 的核心方式,使用者无需改变现有代码即可使用。 3. **内置 CRUD 操作**:MyBatis Plus 内置了常用的 CRUD 操作,开发者无需编写 SQL 语句即可完成大部分数据库操作,简化了代码和减少了出错的可能。 4. **条件构造器**:提供了强大的条件构造器,可以通过编程的方式构造查询条件,避免手写 SQL 语句的复杂性和可能引入的错误。 5. **分页插件**:内置分页插件,支持物理分页,开发者只需要少量配置即可实现复杂的分页功能。 6. **性能分析插件**:提供了 SQL 性能分析插件,可以帮助开发者在开发期间找出潜在的性能瓶颈。 7. **多租户 SQL 解析器**:支持多租户应用的开发,提供租户条件的自动注入。 8. **逻辑删除**:支持逻辑删除功能,开发者只需简单配置,便可实现软删除功能,增强数据的安全性。 通过这些功能,MyBatis Plus 不仅提高了开发效率,同时也保留了 MyBatis 强大的灵活性和控制力,非常适合在企业级开发中使用。 | <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.5</version> </dependency> <dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version> </dependency> 排除 mybatis-plus 中自带的 mybatis 整合包,单独引入mybatis-spring (防止出现错误:java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType') 如果mybatis-plus与springboot版本不兼容会出现(错误:org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'ddlApplicationRunner' is expected to be of type) |
相关文章:

JAVA:jsp+springboot 配置maven兼容版本
Java17 maven依赖:如果中央库和其他镜像找不到包, 可以访问下面的网址找替代包 <!-- Maven Repository: Search/Browse/Explore (mvnrepository.com) -->spring-boot版本号3.2.51.无需配置驱动,有内置数据库驱动 2.能自动扫描配置类。b…...

【Docker】docker部署lnmp和搭建wordpress网站
环境准备 docker:192.168.67.30 虚拟机:4核4G systemctl stop firewalld systemctl disable firewalld setenforce 0 安装docker #安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像 yum-config-manager --add…...

C#装箱拆箱是怎么回事
代码如下: int i 123; object o i; // Boxing int j (int)o; // Unboxing 缺点: 当装箱和拆箱发生时,该技术允许将值类型视为对象。虽然非常有益,但它们会带来性能开销。值类型和引用类型之间的转换过多可能会导致垃圾回收…...

JavaEE 初阶篇-深入了解 Junit 单元测试框架和 Java 中的反射机制(使用反射做一个简易版框架)
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Junit 单元测试框架概述 1.1 使用 Junit 框架进行测试业务代码 1.2 Junit 单元测试框架的常用注解(Junit 4.xxx 版本) 2.0 反射概述 2.1 获…...

人力资源管理新视野:挖掘员工潜力,共筑卓越未来
在21世纪的商业环境中,企业的成功不再仅仅依赖于资本、技术和市场策略,而更多地依赖于其人力资源的有效管理。人力资源管理的新视野正致力于挖掘员工的潜力,为企业创造持续的价值,共筑卓越的未来。 一、员工潜力的挖掘 员工是企业…...

rust语言tokio库spawn, blocking_spawn等的使用
目录 tokio的spawn以及spawn_blocking的使用tokio::task::spawn方法解析tokio::task::spawn_blocking()方法解析 时间会遗忘一切 最后更新时间2024.04.29 tokio版本: tokio的spawn以及spawn_blocking的使用 tokio::task::spawn方法解析 tokio的实现原理以及源码…...

Day_1
1. 环境搭建 技术选型 后端项目结构 sky-take-out maven父工程,统一管理依赖版本,聚合其他子模块 sky-common 子模块,存放公共类,例如:工具类、常量类、异常类等 sky-pojo 子模块,存放实体类、VO、DTO…...

2024.05.06作业
自由发挥应用场景,实现登录界面。 要求:尽量每行代码都有注释。 #include "yuanshen.h"yuanshen::yuanshen(QWidget *parent): QWidget(parent) {//窗口相关设置this->resize(1600,910);this->setFixedSize(1600,910);//窗口标题this-…...

什么是抖音橱窗?它和抖音小店有什么区别?普通人更适合做哪个?
大家好,我是电商糖果 相信有很多想在抖音卖货的朋友,都会搞不清抖音橱窗是什么? 甚至会把它和抖音小店当成一个项目,也不知道哪个更适合自己。 自己越了解发现越迷糊,有的说不需要直播,粉丝,…...

spring高级篇(九)
boot的执行流程分为构造SpringApplication对象、调用run方法两部分 1、Spring Boot 执行流程-构造 通常我们会在SpringBoot的主启动类中写以下的代码: 参数一是当前类的字节码,参数二是main的args参数。 public class StartApplication {public static…...

用wordpress建跨境电商独立站的5大优势
免费和开源 WordPress是一个免费的开源内容管理系统,用户可以自由下载、安装和使用,无需支付版权费用或订阅费用。开源特性也意味着用户可以根据自己的需求修改和定制代码,或者使用其他开发者提供的插件和主题来扩展和美化网站。 易用和灵活…...

Windows中安装的PostgreSQL 数据库如何重启
1. 使用Windows服务管理器 打开“运行”对话框(按WinR键)。输入services.msc并按回车,这将打开服务列表。在服务列表中找到PostgreSQL服务。它通常命名为“PostgreSQL”后面跟着版本号和实例名称,例如“PostgreSQL 13 - mydb”。…...

Remix框架实现 SSR
SSR SSR是一种网页渲染方式,它与传统的客户端渲染(CSR)相对,在日常的项目中我们更多是使用 CSR 的方式进行前端分离开发,渲染会在浏览器端进行。然而在SSR中,当用户请求一个网页时,服务器将生成…...

如何快速开发项目,提高开发效率
文章目录 一、问题描述二、问题解决1.需求分析2.架构设计3.技术选型4.正式开发 一、问题描述 有很多小伙伴在开发一个项目的时候,总是需要很长时间,效率很低,其实本质是没有掌握开发项目的关键和技巧 我下面列举一些问题,不知道…...

面试笔记——多线程使用场景
线程池使用场景(CountDownLatch, Future) CountDownLatch CountDownLatch(闭锁/倒计时锁)用来进行线程同步协作,等待所有线程完成倒计时(一个或者多个线程,等待其他多个线程完成某件…...

02.0 基于Verilog控制LED灯每秒钟闪烁一次
本段代码是为Verilog初学者提供的一个名为led_blink简单实例Verilog模块,其功能是控制6个LED灯同步闪烁,每秒钟闪烁一次。 本例代码用于理解时序逻辑的概念,理解多个always模块完全并行执行的概念,讲授时可以与C语言的执行过程进行…...

C语言创建文件夹和多级目录
C调用系统命令创建多级目录 #include <stdio.h> #include <stdlib.h>int main() {const char *path "a/b/c";// 创建目录命令的字符串char mkdir_command[100];sprintf(mkdir_command, "mkdir %s", path);// 调用系统命令system(mkdir_comma…...

2024.5.6
#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口大小this->resize(1000,740);//设置窗口图标this->setWindowIcon(QIcon("C:\\Users\\Administrator\\Desktop\\pictrue\\Plants.png"));//设置窗口标题this-…...

mybatis配置获取自增主键
mybatis配置获取自增主键 【/n】 01 使用场景 当需要刚刚插入数据库的数据对应的新增主键时,通过配置xml文件,使数据库返回新增主键id,并把主键id与类参数对应 02 涉及配置 注解TableId(type IdType.AUTO):在类主键id通过配…...

完整、免费的把pdf转word文档
在线工具网 https://www.orcc.online 支持pdf转word,免费、完整、快捷 登录网站 https://orcc.online 选择需要转换的pdf文件: 等待转换完成 点击蓝色文件即可下载 无限制,完整转换。...

使用 Lua 协程模拟 Golang 的 go defer 编程模式
封装 go 函数 在 使用 Lua 协程处理异步回调函数 中已经介绍 这里简要列下: 封装 go 函数---go 函数创建并启动一个协程 ---param _co_task function 函数原型 fun(_co:thread) function go(_co_task)local co coroutine.create(_co_task) -- 创建的协程是暂停的…...

网络通信协议,UDP和TCP,初步了解
UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是两种常见的网络通信协议,用于在计算机网络中进行数据传输。 1. TCP:Transmission Control Protocol(传输控制协议…...

Golang | Leetcode Golang题解之第61题旋转链表
题目: 题解: func rotateRight(head *ListNode, k int) *ListNode {if k 0 || head nil || head.Next nil {return head}n : 1iter : headfor iter.Next ! nil {iter iter.Nextn}add : n - k%nif add n {return head}iter.Next headfor add > …...

美业SaaS系统多门店收银系统源码-【分润常见问题】讲解(一)
美业管理系统源码 博弈美业SaaS系统 连锁多门店美业收银系统源码 多门店管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 促销活动 PC管理后台、手机APP、iPad APP、微信小程序 ▶ 分润常见问题: 1、分润金额基数 所有分润计算的基数均为平台订单中各个商…...

Chatbot 在教育中的应用
Chatbot 在教育中的应用 基本信息 这篇博客主要介绍几篇Chatbot在教育领域中应用的文章,根据文章的侧重点不同,分为介绍教育理论,与介绍系统设计两类。从问题定义、技术方法、教育学理论、实验设计、结论证据几个方面概括各篇文章。 博…...

Apache和Nginx的区别以及如何选择
近来遇到一些客户需要lnmp环境的虚拟主机,但是Hostease这边的虚拟主机都是基于Apache的,尽管二者是不同的服务器软件,但是大多数情况下,通过适当的配置和调整两者程序也是可以兼容的。 目前市面上有许多Web服务器软件,…...

深入探索Element-UI:构建高效Web前端的利器
深入探索Element-UI:构建高效Web前端的利器 引言:前端框架的选择与Element-UI的定位一、Element-UI初探二、快速上手:安装与配置三、核心组件深度解析四、实用功能与进阶技巧五、性能优化与最佳实践六、实战案例分析七、与其他技术栈的集成 安…...
在Ubuntu 24.04 LTS (Noble Numbat)上安装nfs server以及nfs client
在Ubuntu 24.04 LTS (Noble Numbat)上,我使用的是最小化安装, 当然server版本的Ubuntu在安装的时候可能会有网络不通的问题,解决办法见如下文章: ubuntu 24.04 server 仅NAT模式上网设置静态IP设置-CSDN博客文章浏览阅读489次,点赞9次,收藏3次。在Ubuntu 24.04 上设置网…...

供应链|经典论文解读:(s,S) 策略在动态库存下的最优性
文章考虑了具有订购成本(由单位成本加上重新订购成本组成)的动态库存问题。具体而言,对于每个时期,系统在中期开始是做出一系列采购决策——这些采购有助于库存的积累,并在随后的周期被需求所消耗。每时期系统会产生各…...

Python从0到100(二十):文件读写和文件操作
一、文件的打开和关闭 有了文件系统可以非常方便的通过文件来读写数据;在Python中要实现文件操作是非常简单的。我们可以使用Python内置的open函数来打开文件,在使用open函数时,我们可以通过函数的参数指定文件名、操作模式和字符编码等信息…...