我有一个自定义的存储过程类,该类正在扩展jdbc.StoredProcedure,但是我已经用Spring @Component注释了该类,以将该类bean引入Spring上下文。
我为什么要这样做?
这种实现有什么问题吗?使用基于Spring组件的StoredProcedure,我们可能会遇到任何问题吗?
Ex:
@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 retry注释服务:
https://dzone.com/articles/spring-retry-way-to-handle-failures
这些服务方法可以定义事务边界并调用您的数据持久层方法,这些方法可以基于spring数据的标准化方法来调用存储过程和管理数据库连接等。