Java JDBCSpring数据源声明

Java JDBCSpring数据源声明,java,spring,jdbc,Java,Spring,Jdbc,为什么这不起作用(抛出异常:无法为连接URL“null”创建类“”的JDBC驱动程序) 但这确实有效 public class Test { public static void main(String[] args) throws Exception { dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUsername("root"); data

为什么这不起作用(抛出异常:
无法为连接URL“null”创建类“”的JDBC驱动程序

但这确实有效

public class Test {

    public static void main(String[] args) throws Exception {
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUsername("root");
        dataSource.setPassword("");
        dataSource.setUrl("jdbc:mysql://localhost/database");
        dataSource.setMaxActive(10);
        dataSource.setMaxIdle(5);
        dataSource.setInitialSize(5);
        dataSource.setValidationQuery("SELECT 1");

        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
        SqlRowSet rs = jdbcTemplate.queryForRowSet("SELECT * FROM table");
    }

}
为什么我不能在构造函数中启动一次dataSource并在整个方法中使用它?

public static void main(String[] args) throws Exception {
    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    SqlRowSet rs = jdbcTemplate.queryForRowSet("SELECT * FROM table");
}
不调用构造函数。它是
Test
类中的一个静态方法,因此纯粹是名称空间。没有创建
测试的实例,因此您的数据源代码不会运行。

public static void main(String[] args) throws Exception {
    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    SqlRowSet rs = jdbcTemplate.queryForRowSet("SELECT * FROM table");
}

不调用构造函数。它是
Test
类中的一个静态方法,因此纯粹是名称空间。没有创建
Test
的实例,因此您的数据源代码不会运行。

那么在这种情况下如何调用构造函数呢?那么在这种情况下如何调用构造函数呢?