我有2个 DAO - first 与@Bean DataSource 一起使用+ JDBC 。 配置 如下:
@Bean("dataSource")
@Singleton
public DataSource getDataSource() {
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("...");
basicDataSource.setUrl("...");
basicDataSource.setUsername(...);
basicDataSource.setPassword(...);
...
return basicDataSource;
}
第二 与 entityManager 一起使用。 application.properties 配置 如下:
spring.datasource.url=...
spring.datasource.username=...
spring.datasource.password=...
...
当我启动 Spring Boot Application 并使用spring初始化 beans 时,我使用 second 从 数据库 获取一些信息。
在这种情况下,我正在使用 second DAO -> entityManager 。
我希望 entityManager 使用来自 application.properties 的配置。
确实, entityManager 使用来自bean DataSource 的bean的配置。
它如何工作?
application.properties中的 p.s。 数据库属性看起来像使用过的。
实际上,我认为我应该为我的应用程序使用一个 ConnectionPool 。
我可以将 DataSource 配置为@Bean,并提供 entityManager 和 jdbcTemplate 。
我应该选择其他解决方案吗?还是这个想法很合适?
答案 0 :(得分:2)
是因为重要性。 @Configuration
的优先级高于application.properties。第一次spring-boot搜索@Bean
定义,如果找不到,则检查application.properties。通常,这些定义是等效的。