我尝试从WEB-INF / lib /中的jar文件加载spring上下文(在spring-config-client.xml中):
<import resource="classpath*:spring-configuration.xml" />
但是当我尝试使用它时:
ApplicationContext factory = new ClassPathXmlApplicationContext("classpath:spring-config-client.xml");
int k = factory.getBeanDefinitionCount();
k等于0.如何使用spring-config-client.xml中的bean?
当我在spring-config-client.xml中编写bean时,一切都很好,但是我需要来自spring-config-client.xml的bean。
答案 0 :(得分:1)
您可以尝试使用以下解决方法:
在您的依赖项目中,创建一个如下所示的配置bean:
@Configuration
@ImportResource("classpath:spring-configration.xml")
public class MyContextConfiguration {
}
现在,您可以像在任何其他bean中一样在依赖项目的Spring上下文中实例化此配置bean:
<bean id="appWatcherConfig" class="MyContextConfiguration"/>
对我来说很好。
答案 1 :(得分:0)
这取决于您在bean上下文中的配置,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:lang="http://www.springframework.org/schema/lang" xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
http://www.springframework.org/schema/lang
http://www.springframework.org/schema/lang/spring-lang-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd" lazy-init="false">
在spring上下文文件中尝试set:lazy-init =“false”或default-lazy-init =“false”,你必须确保你所做的上下文文件已经尝试加载bean定义。
希望这对你有帮助!