我試圖啓動Spring應用與嗎啡框架來創建一些web應用程序與MongoDB的工作泛型DAO春季申請
好,我有一些抽象的實體
public abstract class AbstractEntity {
@Id
protected ObjectId id;
// getters, setters
}
我也有一些抽象的道爲這個抽象的實體
public abstract class AbstractDao<T extends AbstractEntity> extends BasicDAO<T, ObjectId> {
protected AbstractDao(Mongo mongo, Morphia morphia, String dbName) {
super(mongo, morphia, dbName);
}
//some methods
}
我也有一些抽象的行動
public abstract class AbstractAction {
protected ActionType actionType;
protected int dynamicWeight;
protected Date createDate;
// getters, setters
}
我有一些更具體的實體,就像動作實體列表,用於存儲一些行動
public abstract class ActionEntity<T extends AbstractAction> extends AbstractEntity {
protected List<T> actions;
// getters, setters
}
操作可以是喜歡的,評論等,他們都有自己的班,就像
public class LikeAction extends AbstractAction implements ICombinable {
protected ObjectId authorId;
protected ObjectId sourceId;
//getters, setters and overrided equals();
}
最後,我有實體存儲eg喜歡
public class LikeActionEntity extends ActionEntity<LikeAction> {
}
和DAO在應用程序上下文等實體
public class LikeActionDao extends AbstractDao<LikeActionEntity> {
protected LikeActionDao(Mongo mongo, Morphia morphia, String dbName) {
super(mongo, morphia, dbName);
}
}
我有這樣的豆
<bean class="com.foo.app.dao.action.LikeActionDao" id="likeActionDao">
<constructor-arg ref="mongo" index="0"/>
<constructor-arg ref="morphia" index="1"/>
<constructor-arg ref="database" index="2"/>
</bean>
<bean class="com.mongodb.Mongo" id="mongo">
<constructor-arg value="127.0.0.1:27017" index="0" />
</bean>
<bean id="morphia" class="com.google.code.morphia.Morphia" />
<bean class="java.lang.String" id="database">
<constructor-arg value="database" />
</bean>
但是當我試圖運行Spring應用程序,我得到一個異常
線程「main」中的異常org.springframework.beans.factory.BeanCreationException: 在類路徑資源[app-config.xml]中定義名稱爲'likeActionDao'的bean時出錯:bean的實例化失敗;嵌套異常是 org.springframework.beans.BeanInstantiationException:無法實例化bean類 [com.foo.app.dao.action.LikeActionDao]:構造函數拋出異常;嵌套0異常是java.lang.RuntimeException:錯誤類型,沒有參數化...
我做錯了什麼?
似乎是,thx – Xenobyte