Hi everyone:
I want to inject a interface to my class and use it get a dataList. This interface is :
Code:
public interface ForumDAO {
public List getForums();
}
And the implement class is:
Code:
public class ForumDAOImpl extends HibernateDaoSupport implements ForumDAO {
public List getForums(){
return this.getHibernateTemplate().find("from Forum");
}
}
I want to use it in my ForumProxy class like this:
Code:
public class ForumProxy {
private static Log log = LogFactory.getLog(ForumProxy.class);
private ForumDAO fdao;
public void setFdao(ForumDAO fDAO) {
this.fdao = fDAO;
}
public ForumDAO getFdao() {
return this.fdao;
}
public Map getCommonListFromParam(String action) {
log.info("get forumDAO? "+this.getFdao());
List list=this.getFdao().getForums();
Map map=new HashMap();
map.put("data",list);
return map;
}
}
in my springapp config file ,I write :
Code:
<beans>
<bean id="MyDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- results in a setDriverClassName(String) call -->
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1:3306/Hibernate</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>lyo/hotmail/site/bean/Article.hbm.xml</value>
<value>lyo/hotmail/site/bean/Forum.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.query.substitutions">true=1 false=0</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.use_outer_join">false</prop>
</props>
</property>
<property name="dataSource"><ref bean="MyDataSource"/></property>
</bean>
<bean id="fproxy" class="lyo.hotmail.site.util.ForumProxy">
<property name="fdao">
<ref bean="formDao"/>
</property>
</bean>
<bean id="viewSpringForumController" class="lyo.hotmail.site.action.ViewForumcontroller">
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/oldForum.spring">viewSpringForumController</prop>
</props>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
<property name="prefix"><value>/WEB-INF/forum/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
<bean id="formDao" class="lyo.hotmail.site.service.ForumDAOImpl">
<property name="sessionFactory">
<ref bean="MySessionFactory"/>
</property>
</bean>
</beans>
But I get null in my ForumProxy class.The code:log.info("get forumDAO? "+this.getFdao());
will Print :
And later throws a NullPointerException in "this.getFdao().getForums();"
Why I can't use my interface in this proxy class? Get Null in it?
Could some one help me?
Thks!