java - Spring - 从 bean 数据源获取 driverClassName

标签 java spring

我有一个配置数据库连接的 spring xml 文件:

<bean name="dataSource" id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://127.0.0.1:3306/****" />
    <property name="username" value="****" />
    <property name="password" value="****" />
</bean>

为什么在 Java 中我可以获取 url、用户名和密码,但不能获取 driverClassName?

@Autowired
private DriverManagerDataSource dataSource;

private void connect() {
    // dataSource.getDriverClassName() does not exist
    final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    final String DB_URL = dataSource.getUrl();
    final String USER = dataSource.getPassword();
    final String PASS = dataSource.getUsername();
}

谢谢!

最佳答案

为什么该方法不存在?嗯 - 怎么样:因为你不需要它

在dinosaur-java(jdbc 4.0之前)中,您必须显式注册您的jdbc驱动程序 - 通常通过在Class.forName (driverName)调用中加载类。那不再需要了。您所需要的只是类路径上的驱动程序 jar、正确的 jdbc-url、用户名和密码。这就是您在这里得到的全部内容。

关于java - Spring - 从 bean 数据源获取 driverClassName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34508253/

相关文章:

java - Android 文本观察器,用于多个编辑文本

java - 如何重构发生两次的条件语句?

java - 如何将我的应用程序与系统启动(OS)同步?

java - 在 Spring 中解析 Multipart/mixed

java - 当Redis缓存不可用时如何防止所有RedisConnectionFailureException

java - 使用 Graphhopper 进行室内路由

java - 发布到 Spring Controller 给出 404 Bad Request

spring - 如何知道有多少连接正在连接SpringBoot网站?

Java Spring STOMP MessageMapping 未被调用

java - 如何更正计算器中的 "switch"(NoSuchElementException)?