I have two gradle modules: common
and app
The common
module contains a JpaRepository named OutboxJpaMessageRepository
.
The app
module contains another JpaRepository named RentRepository
.
The common
has the following configuration class, which is auto-imported by the other module (using a spring.factories
file):
@Configuration
@EntityScan("path.to.common.module")
@EnableJpaRepositories("path.to.common.module")
@ComponentScan("path.to.common.module")
public class OutboxMessagingAutoConfig {
}
The problem is that @EnableJpaRepositories("path.to.common.module")
overrides the default auto-configuration of the application, and the app can't find RentRepository
(different package).
Can a library exports jpa repositories without override the default configuration of the client?
I don't want to re-configure all apps which use the common module
CodePudding user response:
Two solutions I can think of:
- 1: @EnableJpaRepositories accepts an array as parameter, pass it path.to.app.module.
- 2: Use @EnableAutoConfiguration and spare yourself a lot of trouble.
CodePudding user response:
The boot
module must contain multi path lick this:
@ComponentScan({"path.to.common.module", "path.to.app.module"})