java.lang.IllegalStateException:找不到匹配的编辑器或转换策略



所以我正在构建一个 spring 3.2.3.RELEASE/hibernate 4.0.1.FINAL 应用程序,我得到了以下异常

[2017-03-22 09:29:47,860] 调试 org.springframework.beans.factory.support.DefaultListableBeanFactory [localhost-startStop-1] 忽略 FactoryBean 类型检查上的 Bean 创建异常:org.springframework.beans.factory.BeanCreationException:创建 URL 中定义名称为"loginService"的 Bean 时出错 [jar:file:/D:/Programs/apache-tomcat-7.0.33/webapps/perWeb/WEB-INF/lib/perService-2.0.jar!/applicationContext-transactional-service.xml]:无法解析在设置 Bean 属性 'target' 时引用 bean 'loginServiceImpl';嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建在 URL [jar:file:/D:/Programs/apache-tomcat-7.0.33/webapps/perWeb/WEB-INF/lib/perService-2.0.jar!/applicationContext-simple-service.xml] 中定义名称为"loginServiceImpl"的 bean 时出错:初始化 bean 失败;嵌套异常是 org.springframework.beans.ConversionNotSupportedException:无法将类型为"ma.dao.impl.GenericDAO"的属性值转换为属性"dao"的必需类型"ma.dao.IGenericDAO";嵌套异常是 java.lang.IllegalStateException:无法将属性 'dao' 的类型 [ma.dao.impl.GenericDAO] 的值转换为所需的类型 [ma.dao.IGenericDAO]:找不到匹配的编辑器或转换策略

这是我的豆子:登录服务

<bean id="loginService"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManagerPER" />
</property>
<property name="target">
<ref bean="loginServiceImpl" />
</property>
<property name="transactionAttributes">
<props>
<prop key="loadUserByUsername">
PROPAGATION_REQUIRED,-Exception
</prop>
</props>
</property>
</bean>

登录服务Impl

<bean id="loginServiceImpl"
class="ma.service.login.LoginService">
<property name="dao">
<ref bean="userDAO" />
</property>
</bean>

用户道

<bean id="userDAO"
class="ma.dao.impl.GenericDAO">
<constructor-arg>
<value>
ma.dao.mappings.Utilisateur
</value>
</constructor-arg>
<property name="sessionFactory">
<ref bean="sessionFactoryPER" />
</property>
</bean>

Utilisateur.Java

@Entity
@NamedQueries(
{
@NamedQuery(name="findUtilisateurByName", 
query = "select user from Utilisateur user where user.login=:userName"
) 
}
)
public class Utilisateur implements java.io.Serializable {
private static final long serialVersionUID = 7214071893495381842L;
private Integer id;
private Profil  profil;
private String  nom;
private String  prenom;
private String  login;
private String  passwd;
public Utilisateur() {
}
public Utilisateur(Integer id) {
this.id = id;
}
@Id @GeneratedValue
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@ManyToOne
public Profil getProfil() {
return profil;
}
public void setProfil(Profil profil) {
this.profil = profil;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}

我错过了什么吗? 如果您需要更多信息,请告诉我

似乎您的泛型道无法转换为 IGeneric 道,为此,可能有几个原因,例如您的泛型道实现了 IGeneric 道等。

如果您正在实现泛型道模式,以下链接也可能很有用:

https://www.codeproject.com/Articles/251166/The-Generic-DAO-pattern-in-Java-with-Spring-and

最新更新