我正在尝试在DepartmentService中注入DepartmentDAO.这是在我添加@Transactional注释后出现的.所以这是我的DepartmentService:
@Service
@Transactional
public class DepartmentService extends AbstractCRUDService
这是我的部门DAO:
@Repository
@Transactional(propagation = Propagation.MANDATORY)
public class DepartmentDAO extends AbstractCRUDDao
这是一个applicationContext.xml:
我的堆栈跟踪:
мар 29,2013 4:46:35 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production envi
ronments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\WINDOWS\Sun\Java\
bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/
bin;C:/Program Files/Java/jre7/lib/i386;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\W
INDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\Mercurial\;C:\Program Files\Microsoft SQL Se
rver\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\TortoiseSV
N\bin;c:\Program Files\apache-maven-3.0.4-bin\apache-maven-3.0.4\bin;C:\Program Files\eclipse;;.
мар 29,2013 4:46:35 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.e
clipse.jst.jee.server:chardymov-webapp' did not find a matching property.
мар 29,2013 4:46:35 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
мар 29,2013 4:46:35 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1710 ms
мар 29,2013 4:46:35 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
мар 29,2013 4:46:35 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.35
мар 29,2013 4:46:38 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
мар 29,2013 4:46:38 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
29-03-13 16:46:38,669 INFO [ContextLoader:initWebApplicationContext:272] - Root WebApplicationConte
xt: initialization started
29-03-13 16:46:38,741 INFO [XmlWebApplicationContext:prepareRefresh:503] - Refreshing Root WebAppli
cationContext: startup date [Fri Mar 29 16:46:38 EAT 2013]; root of context hierarchy
29-03-13 16:46:38,797 INFO [XmlBeanDefinitionReader:loadBeanDefinitions:315] - Loading XML bean def
initions from URL [file:/C:/Documents%20and%20Settings/mach/workspace/clean2/.metadata/.plugins/org.
eclipse.wst.server.core/tmp0/wtpwebapps/chardymov-webapp/WEB-INF/classes/applicationContext.xml]
29-03-13 16:46:39,270 INFO [AutowiredAnnotationBeanPostProcessor:
最佳答案
@Transactional作为代理实现,恕我直言Spring不解析代理类型为DepartmentDAO.在这种情况下,您有2个解决方案:
>让你的DA实现一个接口并通过最后注入它
>在Spring配置中启用CGLib代理
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。