【发布时间】:2018-03-16 10:15:06
【问题描述】:
我很清楚似乎是一些配置问题,但我自己无法解决这个问题。我希望你们能帮助我吗?
我发现没有一个示例表明必须为 EntityManagerFactoryBuilder 创建一个 bean,所以有什么问题。
我正在尝试配置完全独立的数据源,包括不同的实体管理器等。
我的错误:
应用程序启动失败
说明:
方法 entityManagerFactory 的参数 0 需要一个找不到的 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' 类型的 bean。
行动:
考虑在你的配置中定义一个“org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder”类型的bean。
我的数据源配置
package ...;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
@Configuration
@EnableTransactionManagement
public class DataSourceConfiguration {
@Primary
@Bean()
@ConfigurationProperties(prefix="spring.my.datasource")
public DataSource myDataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean(name = "myEntityManager")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder factoryBuilder,
@Qualifier("myEntityManager") DataSource bds) {
...
}
}
我的申请
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
HibernateJpaAutoConfiguration.class,
JpaRepositoriesAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class
})
我的绒球
【问题讨论】:
-
运气好能解决这个问题吗?
2.0.0.RELEASE我也有同样的问题 -
我确实有这个工作与 2.0.0.RELEASE 但那是很久以前我不记得我做了什么。我的数据源配置比较复杂,所以这里不能发。
-
我在 2.1.1 RELEASE 中遇到了同样的问题