所以我有一個(gè)使用spring-data-neo4j的項(xiàng)目,遇到了一個(gè)模糊的問(wèn)題。我將java config用于spring-neo4j,Neo4jConfig.java:@Configuration@EnableNeo4jRepositories(basePackages = "org.neo4j.example.repository")@EnableTransactionManagementpublic class Neo4jConfig extends Neo4jConfiguration { @Bean public SessionFactory getSessionFactory() { // with domain entity base package(s) return new SessionFactory("org.neo4j.example.domain"); } // needed for session in view in web-applications @Bean @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS) public Session getSession() throws Exception { return super.getSession(); }}我有一個(gè)DAO和一個(gè)工具,BeanDaoImpl.java:@Repositorypublic class BeanDaoImpl implements BeanDao { public String getStr() { return "from BeanImpl"; }}然后我有一個(gè)使用DaoImpl的服務(wù),請(qǐng)注意,自動(dòng)裝配的是BeanDaoImpl,而不是BeanDao:@Servicepublic class MyBeanService { @Autowired private BeanDaoImpl daoImpl; public String getServiceString(){ return daoImpl.getStr(); }}這是我的app-context.xml: <context:component-scan base-package="com.springconflict" />版本是springframework 4.2.5,spring-data-neo4j 4.1.11,似乎spring-data-neo4j與spring 4.2.5兼容;這是編譯錯(cuò)誤信息:引起原因:org.springframework.beans.factory.BeanCreationException:無(wú)法自動(dòng)連線字段:私有com.springconflict.dao.impl.BeanDaoImpl com.springconflict.service.MyBeanService.daoImpl; 嵌套的異常是org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依賴類型為[com.springconflict.dao.dao.impl.BeanDaoImpl]的合格Bean:預(yù)計(jì)至少有1個(gè)Bean可以作為此依賴的自動(dòng)裝配候選。依賴項(xiàng)注釋:{@ org.springframework.beans.factory.annotation.Autowired(required = true)}可能性是我刪除Neo4jConfig或使用@Autowired BeanDao測(cè)試可以通過(guò)。另外,我使用一個(gè)普通的@Configuration類,測(cè)試仍然通過(guò),所以問(wèn)題可能出在Neo4jConfiguration,有人可以告訴我為什么以及如何解決此問(wèn)題嗎?我沒(méi)有權(quán)限更改@Autowired BeanDaoImpl到@Autowired BeanDao實(shí)際項(xiàng)目。
添加回答
舉報(bào)
0/150
提交
取消