如何使用spring logging确定正在扫描的包

时间:2013-02-21 18:05:28

标签: java spring log4j

我想知道为什么我的@Autowire没有自动装配我的服务。我想验证正在扫描的软件包。

我在我的应用程序中实现了log4j,并使用了config:

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 autowiring of service解决了我的自动问题。但是我希望将这个问题集中在春天的记录上。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我开始使用Spring Stool套件进行Spring开发,我的特点是,如果使用注释将类定义为bean,您将在Project explorer中的文件名上看到一个箭头和一个符号“S”。

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

答案 2 :(得分: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 ....