我正在尝试实现使用2个数据库的Spring应用程序。我尝试了这个:
应用属性
spring.production.datasource.url=jdbc:mariadb://localhost:3306/production_gateway
spring.production.datasource.username=wildfly
spring.production.datasource.password=qwerty
spring.production.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.production.datasource.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.production.datasource.jpa.show-sql = true
spring.production.datasource.jpa.hibernate.ddl-auto = update
spring.warehouse.datasource.url=jdbc:mariadb://localhost:3306/production_warehouse
spring.warehouse.datasource.username=wildfly
spring.warehouse.datasource.password=qwerty
spring.warehouse.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.warehouse.datasource.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.warehouse.datasource.jpa.show-sql = true
spring.warehouse.datasource.jpa.hibernate.ddl-auto = update
配置Bean:
@Configuration
@EnableJpaRepositories(
basePackages = "org.plugin.production.service",
entityManagerFactoryRef = "productionEntityManagerFactory",
transactionManagerRef = "productionTransactionManager"
)
@EnableTransactionManagement
public class ContextProductionDatasource {
@Autowired
private Environment env;
@Primary
@Bean(name = "productionDataSourceProperties")
@ConfigurationProperties(prefix="spring.production.datasource")
public LocalContainerEntityManagerFactoryBean userEntityManager() {
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
em.setDataSource(userDataSource());
em.setPackagesToScan(new String[] { "org.plugin.production.service" });
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
HashMap<String, Object> properties = new HashMap<>();
properties.put("hibernate.hbm2ddl.auto", env.getProperty("jpa.hibernate.ddl-auto"));
properties.put("hibernate.dialect", env.getProperty("jpa.properties.hibernate.dialect"));
em.setJpaPropertyMap(properties);
return em;
}
@Primary
@Bean(name = "productionDataSourceProperties")
@ConfigurationProperties(prefix="spring.production.datasource")
public DataSource userDataSource()
{
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));
dataSource.setUrl(env.getProperty("datasource.url"));
dataSource.setUsername(env.getProperty("username"));
dataSource.setPassword(env.getProperty("password"));
return dataSource;
}
@Primary
@Bean(name = "productionTransactionManager")
@ConfigurationProperties("spring.production.datasource")
public PlatformTransactionManager productionTransactionManager(final EntityManagerFactory emf) {
final JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(emf);
return transactionManager;
}
@Primary
@Bean(name = "productionExceptionTranslation")
@ConfigurationProperties("spring.production.datasource")
public PersistenceExceptionTranslationPostProcessor productionExceptionTranslation() {
return new PersistenceExceptionTranslationPostProcessor();
}
}
但是当我启动应用程序时,我收到错误:
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
你知道我如何解决这个问题吗?
请排除DataSourceAutoConfiguration.class:
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class})
我正在使用MongoDB开发一个Spring Boot批处理示例,并且我已经启动了服务器。 当我启动我的应用程序时,我得到下面的错误。 对这个问题有什么建议吗? 应用特性: pom.xml 我用以下输出启动了:
我已经检查了所有类似的问题,每个答案都说我需要指定一个driverClassName,我已经这样做了。这是我的申请表。yml: 我错过了什么吗?奇怪的是,我的一个有相同代码的同学可以很好地启动应用程序。这就是为什么我认为这与路径有关。也许Spring没有访问yml文件。我把它包含在src.main.resources中,这是Spring查找它的默认位置。这是堆栈跟踪: 这是Gradle构建,我被要
一直致力于使用Spring开发微服务。我已经成功地写了几个,但是,最后一个失败了,我不知道为什么。 我的申请。属性: (别担心,密码包含在application.properties) 已尝试添加和删除: Spring自动配置。排除=组织。springframework。靴子自动配置。jdbc。数据源自动配置 我的pom。xml 我的主要: @SpringBootApplication公共类Aut
编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。 我的application.properties是: 当我进行maven Build并尝试运行主SpringBoot类时,我收到以下消息:
我在pom下面有这个。xml文件。我在尝试运行应用程序时收到此错误消息。未能配置数据源:“url”属性未指定,无法配置嵌入式数据源。 我在谷歌上搜索过,很少有人说这个问题不应该出现在内存数据库版本中,比如H2、Derby等。然而,我遇到了这个问题。 尝试更新application.properties 和 但是没有喘息的机会。请让我知道我错过了什么/在哪里。
我的spring boot项目不需要datasource配置,但当我运行它时,出现了错误: 申请启动失败 描述:配置数据源失败:未指定“url”属性,无法配置嵌入式数据源。 原因:无法确定合适的驱动程序类别 行动: 考虑以下内容:如果您想要一个嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有活动的配置文件) 我的a