2016-09-22 41 views
0

我有以下bean XML,它在ApplicationConfiguration.java中導入,並且剛剛在Test類中創建了DbManager autowired,但它始終爲空。 任何人都可以幫忙。春天在Autowired對象上獲得空值

<?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:context="http://www.springframework.org/schema/context" 
     xmlns:cache="http://www.springframework.org/schema/cache" 
     xsi:schemaLocation=" 
      http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-4.0.xsd 
      http://www.springframework.org/schema/cache 
        http://www.springframework.org/schema/cache/spring-cache.xsd"> 

    <bean id="dbManager" class="com.bandu.myfriendsbook.common.services.dbservices.dbmanager.impl.DbManagerImpl"> 

    </bean> 

    <bean id="dbManagers" class="java.util.ArrayList"> 
     <constructor-arg> 
      <list> 
       <ref bean="dbManager"/> 
      </list> 
     </constructor-arg> 
    </bean> 

</beans> 

和配置Java文件

@Configuration("applicationConfiguration") 
@EnableSpringConfigured 
@ComponentScan 
@EnableCaching(mode = AdviceMode.PROXY, proxyTargetClass = true) 
@EnableTransactionManagement(proxyTargetClass = true, mode = AdviceMode.PROXY) 
@ImportResource({"classpath:META-INF/app-spring-common-config.xml"}) 
public class ApplicationConfiguration extends CachingConfigurerSupport{ 

     //othere beans like datasource, cachemanager 
} 

現在只需調用ApplicationTest.java豆,但它越來越總是空。

@Component 
public class ApplicationTest { 

    @Autowired 
    private DbManagerImpl dbManager; 

    public Integer testQuery(){ 
     return dbManager.testQuery(); 
    } 
} 
+0

@ComponentScan(「my.package」)? – degr

回答

2

您必須使用帶有參數basePackages或basePackagesClasses的@ComponentScan。 例子:

@ComponentScan(basePackages = {"com.example"}) 
0

添加<context:annotation-config/>到烏爾xml文件的工作@Autowired註解。