亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Boot:多個數據源 - 服務器在啟動前終止

Spring Boot:多個數據源 - 服務器在啟動前終止

萬千封印 2022-06-15 10:05:58
不知道我錯過了什么......請幫助......我已經有一個使用一個數據庫的應用程序?,F在我正在添加另一個數據庫。以下是添加額外代碼以獲取新數據源時出現的錯誤(服務器在啟動時終止)。application.properties# === Existing DATA SOURCE (SQL SERVER) ===spring.datasource.driverClassName=com.ibm.db2.jcc.DB2Driverspring.datasource.url=jdbc:sqlserver://mysqlserver/mydbspring.datasource.username=user1spring.datasource.password=passwrd# === New DATA SOURCE (SQL SERVER) ===  ADDING THIS DTASOURCE CODEspring.db2Datasource.driverClassName=com.ibm.db2.jcc.DB2Driverspring.db2Datasource.url=jdbc:db2://mydb2server/mydbspring.db2Datasource.username=user1spring.db2Datasource.password=passwrd創建了這個新類: DatasourceConfig.java@Configurationpublic class DatasourceConfig {    @Bean    @Primary    @ConfigurationProperties(prefix="spring.datasource")    public DataSource primaryDataSource() {        return DataSourceBuilder.create().build();    }    @Bean    @ConfigurationProperties(prefix="spring.db2Datasource")    public DataSource secondaryDataSource() {        return DataSourceBuilder.create().build();    }}I have not doe any changes in my main class:@SpringBootApplication(exclude = {SecurityAutoConfiguration.class })@ComponentScan(basePackages="com.my.company")public class SpringBootAFSApplication {    public static void main(String[] args) {        SpringApplication.run(SpringBootStudentApplication.class, args);    }}錯誤:JdbcStudentRepository.java@Repository("Student")public class JdbcStudentRepository implements StudentRepository {    private GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();    private NamedParameterJdbcTemplate jdbcTemplate;    @Autowired    public JdbcStudentRepository(NamedParameterJdbcTemplate jdbcTemplate) {        this.jdbcTemplate = jdbcTemplate;    }    public int count(){        return this.jdbcTemplate.queryForObject("select count(1) from STUDENT", Collections.emptyMap(), Integer.class);    }
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

看來您正在使用 Hikari 數據源:


無法將屬性綁定到“HikariDataSource”


根據文檔,您需要有一個稍微不同的配置:


此外,如果您碰巧在類路徑中有 Hikari,則此基本設置不起作用,因為 Hikari 沒有 url 屬性(但有 jdbcUrl 屬性)。在這種情況下,您必須按如下方式重寫您的配置:


app.datasource.jdbc-url=jdbc:mysql://localhost/test

app.datasource.username=dbuser app.datasource.password=dbpass

app.datasource.maximum-pool-size=30

可以在此處找到完整信息和其他實施選項


查看完整回答
反對 回復 2022-06-15
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

根據文檔,您的前綴錯誤 應該是這樣的:


db.datasource.driverClassName=com.ibm.db2.jcc.DB2Driver

db.datasource.url=jdbc:db2://mydb2server/mydb

db.datasource.username=user1

db.datasource.password=passwrd

并更新以下行:


@Bean

@ConfigurationProperties(prefix="db.datasource")

public DataSource secondaryDataSource() {

    return DataSourceBuilder.create().build();

}


查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 86 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號