spring 相关问题

Spring Framework是Java平台上应用程序开发的开源框架。其核心是对基于组件的体系结构的丰富支持,目前它拥有20多个高度集成的模块。

Spring + Thymeleaf - 如何实现列表分页

我正在使用 Spring + Thymeleaf 开发一个简单的应用程序。在其中一个页面上,我有一个需要分页的项目列表。 理想情况下,我只想发送 currPageNo (数字...

回答 7 投票 0

Spring ws - Swaref 的数据处理程序仍然为空

我使用 Spring boot starter Web 服务来开发带有附件服务的 SOAP。 由于未知原因,附件未解组。使用了 Jaxb Unmarshaller,但属性

回答 1 投票 0

使用 Spring 控制器的参数名称“点”属性名称将请求参数映射到不同的 POJO / DTO

我想用一种方法实现一个 Spring 控制器(Rest API),我可以将请求参数映射到对象属性,如下所示: /my/api?filter.name=Dan&filter.age=45&filter.active=true ...

回答 1 投票 0

是否可以拥有一个带有 JWT-Decoder 和 oauth2Login 的 Spring-boot 应用程序?

我想用 Keycloak 保护我的 Spring 后端。我有一个受保护的控制器,并且我设法使其成为可能,以便您可以通过浏览器访问它,并且必须使用...登录

回答 1 投票 0

使用Spring消息丢失的STOMP WebSocket

@EventListener 公共无效handleWebSocketSubscribeListener(SessionSubscribeEvent事件){ StompHeaderAccessor headerAccessor = StompHeaderAccessor.wrap(event.getMessage()); 最后长

回答 1 投票 0

React 应用程序无法连接到 Spring Boot websocket

我正在尝试使用 Spring Boot(v3.4.0 with Java 21)设置一个基本的 websocket。 这就是我的 WebSocketConfig.java 的样子 @配置 @EnableWebSocketMessageBroker 公共类 WebSocketC...

回答 1 投票 0

可以使用 OAuth2 创建基于角色的应用程序吗?

我想做的是创建一个具有 Angular 前端和 Spring Boot 后端以及 OAuth2 身份验证的应用程序。 问题是我不知道如何进入前端 ROLES 用户...

回答 2 投票 0

如何将 liquibase 与 Spring Data React 集成?

有人尝试过将 liquibase 与 Spring React Stack 集成吗?从我搜索到的内容来看,liquibase 仍然不支持 r2dbc 驱动程序,它需要您添加 spring data jdbc 和 r2dbc

回答 1 投票 0

spring data jdbc从Oracle获取下一个值序列?

在 JPA 中,使用 @Generate 等从 DB 获取下一个值很简单。 在 Spring Data 中,JDBC 使用自动生成的 DB ID 非常简单/自然。 但是如何使用非自动的 PK/Id

回答 1 投票 0

build/lib 不是由 gradle build 生成的

我正在使用 Magnus Larsson 的第二版书中的 gradle 8.11 开发 spring-boot 项目。 我有一个多项目结构,我通过在

回答 1 投票 0

lombok - 找不到符号 getId()

嗨,我正在 Spring boot MongoDB 示例上做简单的应用程序。 我在运行 sprint boot 主类时收到此错误: BookController.java 错误:(26, 54) java: 找不到符号 符号:

回答 2 投票 0

如何在不更改返回类型的情况下重构基于 Mono 的服务方法中的重复逻辑?

我的 Spring Boot 控制器实现类中有两个方法。一个删除用户,另一个删除 TnC(条款和条件)。两种方法都包含重复的错误处理逻辑...

回答 1 投票 0

在 Spring Boot 中使用带有 TenantID 列的 JPA 时出现问题

我正在尝试为我的 CRM 系统创建一个多租户系统。基本上每个使用该软件的公司都有自己的一组表(除了租户表本身)。 我想分开...

回答 1 投票 0

如何根据底层数据库更改 Hibernate GenerationType 标识符

我有一个名为 main_project (使用 spring-boot v2)的项目,其中包含所有配置类,包括 JPA 配置。 main_project 也有实体类(如用户、人员)。 该...

回答 2 投票 0

不支持Spring删除方法

我的删除方法有问题。其他方法都可以,但是删除有问题。它向我显示:不支持请求方法“DELETE”。 我对邮递员的请求是 http://localhost:

回答 1 投票 0

使用 SpEL 的方法级安全性

我从 Spring 文档中读到,要启用动态方法级元注释,我需要配置一个名为 AnnotationTemplateExpressionDefaults 的类。 我已经在这里做到了 @豆 公开

回答 1 投票 0

如何在非 PK 列的 save() 之后获取序列生成的值

我的 PostgreSQL 数据库中有一个序列,它在插入时为我的订单表生成 order_number(非主键列): 我的 PostgreSQL 数据库中有一个序列,它在插入时为我的订单表生成 order_number(非主键列): <createSequence sequenceName="order_number_seq" startValue="1" incrementBy="1" cacheSize="1"/> <addDefaultValue tableName="orders" columnName="order_number" defaultValueComputed="nextval('order_number_seq')"/> 我的问题是保存订单后,order_number 为空: 科特林 // Save order order = orderRepository.save(order) // order.orderNumber is null here sendEmail(order) // Need order_number here indexOrder(order) // Need order_number here too 保存后如何检索生成的order_number值?请注意,这不是主键列。 实体: @Entity @Table(name = "orders") class Order( @Id val id: UUID = UUID.randomUUID(), @Column(name = "order_number", unique = true, nullable = false, updatable = false, insertable = false) var orderNumber: Long? = null, // other fields... ) 在调用发送电子邮件和索引方法之前,我尝试使用 orderRepository.findById(order.id) 获取实体,但仍然不起作用:订单的 orderNumber 仍然为空 order_number 字段已可插入 false 为了在插入上应用默认值,我们需要使用 order_number: 从生成的插入 SQL 中删除 insertable = false @Entity @Table(name = "orders") class Order( ... @Column(name = "order_number", insertable = false) var orderNumber: Long? = null, ... ) 因为 order_number 是由数据库填充的,所以您需要在保存后从数据库中获取实体(请参阅下面的测试)。 示例数据库架构 (Postgresql): CREATE SEQUENCE order_number_seq INCREMENT BY 1 START WITH 1; CREATE TABLE orders ( id SERIAL PRIMARY KEY, order_number INT DEFAULT nextval('order_number_seq') NOT NULL ); 测试 import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; import org.testcontainers.containers.PostgreSQLContainer; import static org.junit.jupiter.api.Assertions.*; @DataJpaTest @AutoConfigureTestDatabase class OrderRepositoryTest { @TestConfiguration static class PostgresTestContainerConfig { @Bean @ServiceConnection public PostgreSQLContainer<?> postgreSQLContainer() { return new PostgreSQLContainer<>("postgres:15-alpine"); } } @Autowired OrderRepository sut; @Autowired TestEntityManager entityManager; @Test void testSave() { sut.save(new Order()); entityManager.clear(); var orderInDb = entityManager.find(Order.class, 1L); assertNotNull(orderInDb.getOrderNumber()); } }

回答 1 投票 0

如何使用 JDBC 在 spring-session 中初始化模式

我正在使用 Spring Boot 2.0.x、Hibernate 和 Spring Session Jdbc 以及 Mysql 5.7。 我在开发环境下工作,因此 Hibernate 配置为每次生成模式: spring.jpa.hib...

回答 3 投票 0

带有名称的 Spring @Bean 与带有构造函数注入的 @Qualifier 一起导致“预期有单个匹配 bean,但发现了 2 个”

我有以下配置类,我在其中生成所有 bean,一切都运行良好,直到我需要同一 bean 的第二个实例: @配置 @EnableScheduling @

回答 1 投票 0

JPA/Hibernate - 如何在非 PK 列的 save() 之后获取序列生成的值

我的 PostgreSQL 数据库中有一个序列,它在插入时为我的订单表生成 order_number(非主键列): 我的 PostgreSQL 数据库中有一个序列,它在插入时为我的订单表生成 order_number(非主键列): <createSequence sequenceName="order_number_seq" startValue="1" incrementBy="1" cacheSize="1"/> <addDefaultValue tableName="orders" columnName="order_number" defaultValueComputed="nextval('order_number_seq')"/> 我的问题是保存订单后,order_number 为空: 科特林 // Save order order = orderRepository.save(order) // order.orderNumber is null here sendEmail(order) // Need order_number here indexOrder(order) // Need order_number here too 保存后如何检索生成的order_number值?请注意,这不是主键列。 实体: @Entity @Table(name = "orders") class Order( @Id val id: UUID = UUID.randomUUID(), @Column(name = "order_number") var orderNumber: Long? = null, // other fields... ) 在调用发送电子邮件和索引方法之前,我尝试使用 orderRepository.findById(order.id) 获取实体,但仍然不起作用:订单的 orderNumber 仍然为空 解决此问题的一种方法是将与序列相关的从 JPA 转移到数据库模式,如下所示: CREATE SEQUENCE order_number_seq INCREMENT BY 1 START WITH 1 CACHE 1; CREATE TABLE orders ( ... order_number INT DEFAULT nextval('order_number_seq') NOT NULL, .... ); 我们现在需要使用 order_number 从插入 SQL 中删除 insertable = false: @Entity @Table(name = "orders") class Order( ... @Column(name = "order_number", insertable = false) var orderNumber: Long? = null, ... )

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.