2012-09-26 101 views
0

在spring 3.0中如何做component-scan?我使用@Service和@Reponsity作爲jar和項目的註釋。這是行不通的。當項目中的bean從jar中注入bean時。Spring 3.0註釋bean組件掃描

在jar文件

com.java.spring.support 

在項目

org.me.project 

我的配置是

<context:annotation-config/> 
    <context:component-scan base-package="com.java.spring.support, org.me.project"/> 

在JAR文件

package com.java.spring.support; 

    @Service("CommonService") 
    public class CommonService { 
    } 

在項目

package org.me.project; 

    @Service(value = "OtherService") 
    public class OtherService { 
     @Resource(name = "CommonService") 
     private CommonService service; 
    } 

我得到錯誤

15:41:53,043 DEBUG [org.springframework.context.support.ClassPathXmlApplicationContext] Unable to locate LifecycleProcessor with name 'lifecycleProcessor': using default [org.sprin 
    [email protected]] 
    15:41:53,044 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Returning cached instance of singleton bean 'lifecycleProcessor' 
    Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'CommonService' is defined 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
     at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093) 
     at org.ace.java.support.delete.Test.main(Test.java:13) 
+0

http://stackoverflow.com/a/5315069/106261 – NimChimpsky

回答

0

只能使用<context:component-scan base-package="com.java.spring.support, org.me.project"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>應該工作。

+0

我已經嘗試這樣,它不工作 – CycDemo

0
<context:component-scan base-package="org.me.project"/> 

您正在存儲庫註釋上使用排除過濾器,將其刪除。

+0

我已經嘗試這樣,它不工作 – CycDemo

+0

@CycDemo這就是你如何指定基於註解配置;你得到的錯誤究竟是什麼? – NimChimpsky

+0

我提交錯誤堆棧。 – CycDemo