[Tapestry5] T5 ioc的问题

bill_mouse 2008-11-24
在使用ioc的时候出现了问题,高人看看是不是我理解错了
这里注入了ProjectDAO(继承自AbstractDAO,实现DAOInterface);
测试发现并没有成功注入,dao始终为null。
@InjectService("ProjectDAO")
	private DAOInterface dao;
	private Project project;
	public Object onSuccess() {
		System.out.println(dao);
		dao.create(project);
		return ProjectEdit.class;
	}


AppModel.java
public class AppModule {
	public static void bind(ServiceBinder binder)    
	 {  
		
	    binder.bind(DAOInterface.class,ProjectDAO.class).withId("ProjectDAO");    
	 }    

}


ProjectDAO.java
public class ProjectDAO extends AbstractDAO implements DAOInterface {

	@Override
	public List<AbstractPO> searchBySo(AbstractSO so) {
		return null;
	}

}

AbstractDAO.java
public abstract class AbstractDAO extends HibernateDaoSupport  {

	public int create(AbstractPO po) {
		this.getHibernateTemplate().save(po);

		return po.getId();
	}

	public boolean update(AbstractPO po) {
		try {
			this.getHibernateTemplate().update(po);
		} catch (Exception e) {
			return false;
		}
		return true;
	}

	public abstract List<AbstractPO> searchBySo(AbstractSO so);

}

lishubing_2000 2008-11-26
注入调用的时候不要用
@InjectService("ProjectDAO")  


@Inject就可以了

Global site tag (gtag.js) - Google Analytics