2 回答

TA貢獻1752條經驗 獲得超4個贊
一旦你定義數據源屬性application.properties中@SpringBootApplication它會自動配置datasource,這樣你就可以刪除DataSource configuration。但是如果你想自定義你的數據源配置,那么下面應該Environment可以讓你訪問屬性:
@Configuration
@PropertySource(value= {"classpath:application.properties"})
public class DatasourceConfig {
@Autowired
Environment environment;
@Bean
public DataSource datasource() throws PropertyVetoException {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(environment.getProperty("spring.datasource.driver-class-name"));
dataSource.setUrl(environment.getProperty("spring.datasource.url"));
dataSource.setUsername(environment.getProperty("spring.datasource.username"));
dataSource.setPassword(environment.getProperty("spring.datasource.password"));
return dataSource;
}
}
或者,如果您不想通過 訪問屬性Environment,則可以通過訪問@Value
@Value("${spring.datasource.driver-class-name}")
private String driverName;
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String userName;
@Value("${spring.datasource.password}")
private String password;
@Bean
public DataSource datasource() throws PropertyVetoException {
final DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(driverName);
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(password);
return dataSource;
}

TA貢獻1829條經驗 獲得超4個贊
似乎您忘記在 pom.xml 或 build.gradle 中添加依賴項,或者如果您已經添加,則您的構建沒有該依賴項(運行mvn clean install)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
請添加并重試
添加回答
舉報