[英]Spring 3.0 annotation bean Component Scan
How to do component-scan
in spring 3.0? 在Spring 3.0中如何进行
component-scan
? I use annotation like @Service, @Reponsity for both jar and project. 我对jar和项目都使用了@ Service,@ Reponsity之类的注释。 It does not work.
这是行不通的。 When the bean in project inject from the bean in jar.
当项目中的bean从jar中的bean注入时。
In jar file 在jar文件中
com.java.spring.support
In project 在项目中
org.me.project
My configuration is 我的配置是
<context:annotation-config/>
<context:component-scan base-package="com.java.spring.support, org.me.project"/>
In Jar File 在Jar文件中
package com.java.spring.support;
@Service("CommonService")
public class CommonService {
}
In project 在项目中
package org.me.project;
@Service(value = "OtherService")
public class OtherService {
@Resource(name = "CommonService")
private CommonService service;
}
I get error 我得到错误
15:41:53,043 DEBUG [org.springframework.context.support.ClassPathXmlApplicationContext] Unable to locate LifecycleProcessor with name 'lifecycleProcessor': using default [org.sprin
gframework.context.support.DefaultLifecycleProcessor@510ebe18]
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)
仅使用<context:component-scan base-package="com.java.spring.support, org.me.project"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
应该可以。
<context:component-scan base-package="org.me.project"/>
您正在对存储库注释使用排除过滤器,请将其删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.