我正在学习spring框架并尝试从.properties文件中注入属性。
这是我的.properties文件
sprint.datasource.username=hamnghi
sprint.datasource.password=hamnghi
sprint.datasource.url=jdbc:h2:~/test;
sprint.datasource.driver=org.h2.Driver;
当我试图通过 driver
将字段放入 Class.forName(drive)
,程序无法连接到数据库并引发错误 java.lang.ClassNotFoundException: org/h2/Driver;
但它印出了 driver
变量“org.h2.driver”到控制台就可以了。我的控制台屏幕截图
我还和你一起运行了这个程序 Class.forName("org.h2.Driver")
,运行良好;但是,当我用 driver
,没用
这是我的课。
package H2Database.db_connection;
import H2Database.functionality.Logging;
import org.springframework.beans.factory.annotation.Value;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Logger;
public class H2Connection {
private final static Logger logger = Logging.getLogger();
@Value("${sprint.datasource.url}")
private String url;
@Value("${sprint.datasource.username}")
private String username;
@Value("${sprint.datasource.password}")
private String password;
@Value("${sprint.datasource.driver}")
private String driver;
public Connection open(){
try {
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, username, password);
return connection;
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
return null;
}
}
@Override
public String toString() {
return "H2Connection{" +
"url='" + url + '\'' +
", username='" + username + '\'' +
", driver='" + driver + '\'' +
'}';
}
}
2条答案
按热度按时间wlp8pajw1#
你有尾随吗
;
在你的配置中。把它拿走异常意味着在类路径中找不到特定的类。
您需要添加包含h2的相应实现的依赖项:
vngu2lb82#
您应该完成以下步骤,将h2数据库配置到springmvc应用程序。
步骤1:在pom.xml文件中添加以下依赖项
步骤2:在application.properties文件中配置这些属性。
注意:springmvc不会自动配置application.properties的属性。您应该使用配置类来配置它。
第3步:配置数据库。