或可以通过查看自动配置源码,来找到: @SpringBootApplication -> @EnableAutoConfiguration 所在jar包的META-INF/spring.factories中可以找到org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration-> 进入JpaRepositoriesAutoConfiguration后发现需要先配置HibernateJpaAutoConfiguration -> 进入HibernateJpa...
basePackages={"net.zhaoxiaobin.jpa.dao.secondary"})//设置Repository所在位置publicclassSecondaryConfig{@AutowiredprivateDataSource secondaryDataSource;@AutowiredprivateJpaProperties jpaProperties;@AutowiredprivateHibernateProperties hibernateProperties;privateMap<String,Object>getVendor...
SpringBoot 2.2.x版本,默认使用的DataSource是HikariCP,可以直接通过注入DataSource,并打印出打印全限定名,可以查看。 或可以通过查看自动配置源码,来找到: @SpringBootApplication -> @EnableAutoConfiguration 所在jar包的META-INF/spring.factories中可以找到org.springframework.boot.autoconfigure.data.jpa.JpaRepositories...
import org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings;import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.boot.orm.jpa.Entit...
@EnableTransactionManagementpublicclassMultiDataSourceApplication{publicstaticvoidmain(String[] args) { SpringApplication.run(MultiDataSourceApplication.class, args); } } JpaDataSourceOneConfig: /*** *@authorcaofanqi*/@Configuration @Profile("multi-datasource") ...
SpringDataJPA SpringDataJPA 是springdata 项目下的一个模块。提供了一套基于JPA 标准操作数据库的简化方案。底层默认的是依赖 HibernateJPA 来实现的。 SpringDataJPA 的技术特点:我们只需要定义接口并集成 Spring DataJPA 中所提供的接 口就可以了。不需要编写接口实现类。
public DataSourcesecondaryDataSource() { return DataSourceBuilder.create().build(); } } 4.1数据源primary对应jpa配置 @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef="entityManagerFactoryPrimary", transactionManagerRef="transactionManagerPrimary", ...
spring.datasource.datasource2.driver-class-name=com.mysql.cj.jdbc.Driver ``` 2、创建两个数据源的配置类,分别配置两个DataSource和EntityManagerFactory: ```java @Configuration @EnableTransactionManagement @EnableJpaRepositories( basePackages = "com.example.repository.datasource1", entityManagerFactoryRef =...
public DataSource dataSourceSlave(){ return DataSourceBuilder.create().build(); } } 3.主从数据源的 EntityManager,TransactionManager配置 主数据源(加上@Primary注解) @Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "entityManagerFactoryMaster",//配置连接工厂 entityM...
可以看到内容跟JdbcTemplate时候是一模一样的。通过@ConfigurationProperties可以知道这两个数据源分别加载了spring.datasource.primary.*和spring.datasource.secondary.*的配置。@Primary注解指定了主数据源,就是当我们不特别指定哪个数据源的时候,就会使用这个Bean真正差异部分在下面的JPA配置上。