JAVA:jsp+springboot 配置maven兼容版本

发布于:2024-05-04 ⋅ 阅读:(31) ⋅ 点赞:(0)

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>
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编程的开源库

比如:

Lombok是一个用于简化Java编程的开源库,它通过注解的方式减少了代码的样板代码量,增强了代码的可读性和可维护性。以下是Lombok的一些亮点功能:

1. **数据类注解**:`@Data`注解可以自动生成类的所有属性的getter和setter方法、`toString()`方法、`equals()`方法和`hashCode()`方法。

2. **构造器注解**:`@AllArgsConstructor`和`@NoArgsConstructor`注解可以分别生成带所有参数和无参数的构造器。此外,`@RequiredArgsConstructor`注解则会生成仅包含`final`属性或被`@NonNull`注解修饰属性的构造器。

3. **日志注解**:Lombok提供了多种日志注解,例如`@Slf4j`、`@Log4j`等,可以自动为类添加对应日志框架的日志记录器。

4. **`@Builder`注解**:这个注解可以为类生成Builder模式的构造器,使得构建对象时可以更灵活地设置属性,并且代码结构更加清晰。

5. **注解处理**:Lombok的注解会在编译期间进行处理,自动生成对应的样板代码。这意味着开发者不需要手动编写重复性代码,且不会增加运行时开销。

6. **其他注解**:例如`@Getter`和`@Setter`注解可以分别只为特定属性生成getter或setter方法,`@ToString`可以定制类的`toString()`方法内容,`@EqualsAndHashCode`可以定制类的`equals()`和`hashCode()`方法。

Lombok通过这些注解功能,大大简化了Java开发的样板代码,使得代码更加简洁,提升了开发效率。

用脚手架增加就行了

  • 日志注解@Slf4j: 这是一个首选,因为它能与 Spring Boot 默认的日志设置无缝集成,并且能够与多种后端通过 SLF4J 兼容。

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)


网站公告

今日签到

点亮在社区的每一天
去签到