1

我试图弄清楚为什么我的@Autowire 没有自动装配我的服务。我想确认正在扫描正确的包裹。

我已经在我的应用程序中实现了 log4j 并使用了配置:

log4j.rootCategory=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n

log4j.category.org.springframework=DEBUG

我看到一些线条...

INFO: Building JPA container EntityManagerFactory for persistence unit 'unit'
12:45:19,627 DEBUG main packaging.AbstractJarVisitor:172 - Filtering: com.production.api.dao.Config
12:45:19,628 DEBUG main packaging.AbstractJarVisitor:172 - Filtering: com.production.api.dao.GenericDao
12:45:19,642 DEBUG main packaging.AbstractJarVisitor:172 - Filtering: com.production.api.dao.JobAssetDao
12:45:19,643 DEBUG main packaging.AbstractJarVisitor:172 - Filtering: com.production.api.dao.JobDao
12:45:19,644 DEBUG main packaging.AbstractJarVisitor:172 - Filtering: com.production.api.dao.JobSetDao

这些行是否表明正在扫描这些包裹? Filtering对我来说,这听起来像是被过滤掉了,而不是被扫描了。

更新:我在这里发布了另一个问题:How to fix xml-less autowireing of service 解决我的自动装配问题。但我希望将这个问题集中在春季的伐木上。

4

3 回答 3

1

该日志记录看起来像 Hibernate,而不是 Spring。您的转换模式没有帮助;我建议您删除{2}after %c,以显示完整的记录器包名称。

于 2013-02-21T18:15:01.327 回答
0

好吧,我开始使用 Spring Stool 套件进行 Spring 开发,我的特点是,如果使用注释将类定义为 bean,您会在项目资源管理器中的文件名上看到一个箭头和一个符号“S”。

第二种方法是仅删除该特定类/方法上的注释并在您的 context.xml 类中定义。可能包名称不正确。

于 2013-02-21T18:21:36.033 回答
0

我很失望没有人能够回答这个问题。显然,下面的行将告诉您哪些类正在作为 bean 加载......

Feb 28, 2013 1:16:11 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@3ff33ecb: defining beans ....
于 2013-02-28T18:19:03.583 回答