我有一個spring.appperties文件和彈簧數據jpa的彈簧啓動應用程序。 在應用程序中我有一個外部依賴項,需要加載具有基於xml配置的外部Spring項目的Bean。 外部xml有它自己的組件掃描和它自己的spring jpa安裝程序來與其他數據庫進行交互,從而在Application.properties文件中給出該數據庫屬性,並且我使用@ImportResources在其父應用程序中注入它的bean。但是當我在做這個spring數據時,jpa沒有加載接口存儲庫bean。彈簧 - 引導配置
問題是它加載了xml的bean,但是fils加載了父項目的存儲庫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 {
異常
應用程序未能啓動
描述:
領域AARepo在com.xx.xx.services需要.impl.yyImpl無法找到類型爲 'com.xx.x.repository.AARepo'的bean。
行動
考慮您的 configuration.`定義類型 'com.xx.xx.repository.AARepo' 的豆
我還有想這沒有很好的頂端使用
@EnableAutoConfiguration
。我覺得問題是@ImportResources加載其他依賴項目的組件和數據源,並且因爲它有一個數據源設置,所以它無法爲父項 – user1626001@ user1626001執行它:只需更新MainApp中的完整配置,你可以試試嗎? –