我試圖訪問@Service定義的類無法訪問註釋春季服務
接口定義,這裏是一個實現
@Service
public class TypeServiceImpl implements TypeService {
@Autowired
TypeDAO dao;
public List<DocType> findAll() {
System.out.println("accessing findAll"); //have no appearence
return dao.findAll();
}
公共TypeDAOImpl(){ 的System.out.println (「構造TypeDAOImpl」); }用於DAO
...
}
代碼:
@Repository
public class TypeDAOImpl extends BaseDAO<Type, Long> implements TypeDAO{
}
BaseDAO:
public class BaseDAO<T, ID extends Serializable> extends GenericDAOImpl<T, ID> {
@Autowired
@Override
public void setSessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
}
使用generic dao 配置應用程序加載罰款(沒有警告或錯誤),但是當我試圖使用服務:
@Autowired
private TypeService TypeService;
public void init() {
try {
for (Type d : TypeService.findAll()) {
System.out.println(d.getType());
}
} catch (Exception e) {
e.printStackTrace();
}
}
中的applicationContext:
<!-- Use annotations (@Autowired) for property injection -->
<context:annotation-config />
在日誌: 信息:預實例獨身org.s[email protected]14db0e3:... typeDAOImpl,appMain,typeServiceImpl
我的web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/config/application-context.xml,classpath:/config/datasource-context.xml</param-value>
</context-param>
<context-param>
<description>
Vaadin production mode</description>
<param-name>productionMode</param-name>
<param-value>false</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<servlet>
<servlet-name>My Application</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
<init-param>
<description>
Vaadin application class to start</description>
<param-name>application</param-name>
<param-value>myapp.main.MainApp</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>My Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
...
堆棧跟蹤是 「非常信息」(我用vaadin作爲Web框架)
java.lang.NullPointerException at main.AppMain.init(AppMain.java:26) at com.vaadin.Application.start(Application.java:497) at com.vaadin.terminal.gwt.server.AbstractApplicationServlet .startApplication(AbstractApplicationServlet.java:1001) at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:411) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve .invoke(StandardWrapperValve.java:233) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在org.apache.catalina.valves。 ErrorReportValve.invoke(ErrorReportValve.java:102) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:583) 在org.apache.tomcat。 util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Unknown Source)
有什麼建議嗎?
我添加構造函數GenericDAOHibernate和TypeDAOImpl,所以據我所知,這些bean被初始化 ... 12.10.2009 12時57分48秒org.hibernate.impl.SessionFactoryImpl 信息:建立會話工廠 12.10。 2009年12點57分48秒org.hibernate.impl.SessionFactoryObjectFactory addInstance 信息:沒有約束力工廠JNDI,沒有JNDI名稱配置 構建通用的DAO 構建TypeDAOImpl 12.10.2009 12時57分48秒org.springframework.web .context.ContextLoader initWebApplicationContext ...
我不明白,因爲這個配置與ZK一起工作..
只是一個猜測,但是你有適當的命名空間添加到您的Spring應用程序上下文嗎? – duffymo 2009-10-08 23:24:15
你可以添加stackstrace嗎? – 2009-10-09 11:42:38
我在下面的評論中詢問過,基於上面的堆棧跟蹤,我會再次問 - AppMain(這大概是從上一個代碼示例的哪個位置定義的 - 具有init()方法的位置)定義的作爲你的上下文中的bean?因爲如果不是,你如何期望自動佈線爲它工作? – ChssPly76 2009-10-10 02:33:29