gpt4 book ai didi

java - 自定义 StoredProcedure 类作为 Spring 组件并扩展 jdbc StoredProcedure

转载 作者:行者123 更新时间:2023-12-01 17:26:51 26 4
gpt4 key购买 nike

我有一个自定义存储过程类,它扩展了 jdbc.StoredProcedure,但我已经使用 Spring @Component 注释了该类,以将该类 bean 引入 Spring 上下文。

我为什么要这样做?

  1. 我想在执行方法上添加 spring-retry,该方法仅适用于 spring 组件
  2. 我想重用编译后的StoredProcedure,而不是每次都创建一个新对象并重新编译,这样我每次都可以重用编译后的StoredProcedure。

这种实现有什么问题吗?我们可能会在这个基于 Spring 组件的 StoredProcedure 中看到任何问题吗?

例如:

    @Component
public class ExampleStoredProcedure extends StoredProcedure {
@Autowired
private DataSource dataSource;

@Postconstruct
public void init() {
super.setDataSource(dataSource);
setSql("stored_procedure_name");
//TODO declare parameters
compile();
}

public void execute(){
//Todo set all parameters to ParameterSource
super.execute(parameterSource);
}
}

最佳答案

尝试实现分层应用程序架构,在其中使用 spring 重试注释您的服务,如下例所示:

https://dzone.com/articles/spring-retry-way-to-handle-failures

这些服务方法可以定义事务边界并调用数据持久层方法,这些方法可以基于 Spring Data 的标准化方法来调用存储过程和管理数据库连接等。

有关 Spring 和架构的更多信息,请参阅以下简要介绍:

https://www.petrikainulainen.net/software-development/design/understanding-spring-web-application-architecture-the-classic-way/

关于java - 自定义 StoredProcedure 类作为 Spring 组件并扩展 jdbc StoredProcedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61198943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com