Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot spring引导中的ms sql server数据源java配置_Spring Boot_Jpa_Datasource_Spring Java Config_Mssql Jdbc - Fatal编程技术网

Spring boot spring引导中的ms sql server数据源java配置

Spring boot spring引导中的ms sql server数据源java配置,spring-boot,jpa,datasource,spring-java-config,mssql-jdbc,Spring Boot,Jpa,Datasource,Spring Java Config,Mssql Jdbc,我正在尝试为我的ms sql server使用java配置,但找不到关于如何在配置类中将其定义为Bean的任何信息。 我以前使用过Oracle,配置它非常简单。我曾经为Oracle编写过这段代码 @Bean DataSource dataSource() throws SQLException { OracleDataSource dataSource = new OracleDataSource(); dataSource.setUser(username); dat

我正在尝试为我的ms sql server使用java配置,但找不到关于如何在配置类中将其定义为Bean的任何信息。 我以前使用过Oracle,配置它非常简单。我曾经为Oracle编写过这段代码

@Bean
DataSource dataSource() throws SQLException {

    OracleDataSource dataSource = new OracleDataSource();
    dataSource.setUser(username);
    dataSource.setPassword(password);
    dataSource.setURL(url);
    dataSource.setImplicitCachingEnabled(true);
    dataSource.setFastConnectionFailoverEnabled(true);
    return dataSource;
}
到目前为止,我正在使用
application.properties
,但我不想继续使用此文件。

这应该可以

@Bean
DataSource dataSource() throws SQLException {

    BasicDataSource dataSource = new BasicDataSource();
    dataSource.setUser(username);
    dataSource.setPassword(password);
    dataSource.setURL(url);
    .........
    .........
    return dataSource;
}

Ms Sql是一个关系数据库。所以BasicDataSource应该足够了。

没有必要定义
数据源
bean,因为Spring Boot使用自动配置来创建一个基于
Spring.DataSource
属性的bean。您可以使用
application.yml
来定义它们:

spring:
  datasource:
     url: jdbc:sqlserver://myserver
     username: myuser
     password: mypassword
如果您使用的是
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc驱动程序类,则默认情况下会选择该类。否则,您需要指定
spring.datasource.driver类名
属性。请注意,从SpringBoot2开始,它是默认的池实现

请参阅和以了解更多信息

您可以像使用Oracle一样使用专用工具:

@Bean
DataSource dataSource() throws SQLException {

    SQLServerDataSource dataSource = new SQLServerDataSource();
    dataSource.setUser(username);
    dataSource.setPassword(password);
    dataSource.setURL(url);
    return dataSource;
}

谢谢Karol提供的详细信息,但正如我提到的,我现在使用的是相同的方法,但我想使用java配置,这样我就可以使用PCF CUP服务来获取数据源的详细信息。谢谢。我已经用pvpkiranThanks建议的BasicDataSource解决了这个问题。