【发布时间】:2017-09-12 04:43:34
【问题描述】:
我有一个带有 application.properties 文件和 spring data jpa 的 spring boot 应用程序。 在应用程序中,我有一个外部依赖项,需要加载具有基于 xml 的配置的外部 Spring 项目的 Bean。 外部 xml 有自己的组件扫描和自己的 spring jpa 设置以与其他 DB 交互,在 Application.properties 文件中提供该 DB 属性,我正在使用 @ImportResources 将其 bean 注入父应用程序。但是当我在做这个 spring 数据时,jpa 没有加载接口存储库 bean。
问题是它加载了xml的bean,但是却加载了父项目的repository bean的bean。
Appconfig.class
@Configuration
@ComponentScan(basePackages = {"com.xx.xx"})
public class AppConfig {
}
ConfigProperties.class
@Configuration
@Import({AppConfig.class})
@ImportResource("classpath:xx-context.xml")
public class ConfigProperties {
}
xx-context.xml(示例)
<mvc:annotation-driven />
<import resource="yy-repository.xml" />
<import resource="classpath:zz-config.xml" />
<context:component-scan base-package="com.yy.yy" />
<bean id="bean_id"
//defination
</bean>
<bean>
//defination
</bean>
</beans>
MainApp.java
@SpringBootApplication
public class MainApp extends SpringBootServletInitializer {
异常
应用程序启动失败
说明:
com.xx.xx.services.impl.yyImpl 中的字段 AARepo 需要一个 bean 类型 'com.xx.x.repository.AARepo' 找不到。
动作
考虑在你的 配置。`
【问题讨论】:
标签: java spring spring-boot