繁体   English   中英

JDBC数据源返回NULL

[英]JDBC Datasource returning NULL

我有这个工作的Java代码,用作“数据源”:

public final class PMF {
        static Driver driver = null;
    static String url = "jdbc:jiql://local";

    static Properties props = new Properties();

    static {
       String password = "jiql";
       String user = "admin";
       props.put("user",user);
       props.put("password",password);
       try {
           Class clazz = Class.forName("org.jiql.jdbc.Driver");
           driver = (Driver) clazz.newInstance();
       } catch (Exception e){
           e.printStackTrace();
       }
    }

    public static Connection get() {
        try{
            return driver.connect(url,props);
        } catch (java.sql.SQLException e){
            e.printStackTrace();
        }
        return null;
    }
}

当我尝试使用以下代码为Spring修改此代码时:

jdbc.properties

jdbc.driverClassName=org.jiql.jdbc.Driver

# development
jdbc.url=jdbc:jiql://local
jdbc.username=admin
jdbc.password=jiql

applicationContext.xml

<!-- placeholders -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations" value="/WEB-INF/jdbc.properties"/>
</bean>

<!-- data source -->
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean> 

当我在DAO中执行此操作时,“数据源”将为空:

@Autowired
private DataSource dataSource;

是什么导致数据源为空?

看起来这是DAO问题,而不是JDBC问题。 我使用Spring STS重新创建了该应用程序,一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM