单例类不同步行为

nle07wnf  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(295)

我试图在springboot中调用一个基于oracle的存储过程。它的工作如预期,但我得到以下警告,而扫描通过声纳。请建议一种处理方法。
程序.java:

public class DataExecutor {

@Autowired
DataSource dataSource;

@Autowired
JdbcTemplate jdbcTemplate;

public int executeprocedure(){

jdbcTemplate  = new JdbcTemplate(dataSource);
    SimpleJdbcCall simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withSchemaName("FSW")
            .withProcedureName("SP");
..................... Rest of the code
}

nkcskrwz

nkcskrwz1#

这个 JdbcTemplate 是只应初始化一次的可重用对象。你的 new JdbcTemplate 完全没有必要,因为spring为您提供了它。
当前的最佳实践是根本不使用字段注入,而是生成所有依赖项 final 并在构造函数中初始化它们;这有助于防止像这样的各种错误,并使您的类更容易测试。

相关问题