- PR -

spring+hibernate助けてください

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/12/10
投稿数: 5
投稿日時: 2006-12-10 10:54
こんばんわ eclipseでspring+hibernateの勉強をしています。
サンプルに真似して、作っているけど、以下のエラーが出ています。



org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dao1' defined in class path resource [bean-conf.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionFactoty' of bean class [jp.tuyano.framework.spring.MydataspringhernateberDao]: Bean property 'sessionFactoty' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1032)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
jp.tuyano.framework.spring.Servlet5.doGet(Servlet5.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
************
package jp.tuyano.framework.spring;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

public class Servlet5 extends HttpServlet{

//private static final long serialVersionUID=1L;

/* protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{

this.doPost(request,response);

}*/

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
{

response.setContentType("text/html;charset=EUC-JP");
request.setCharacterEncoding("EUC-JP");

PrintWriter out=response.getWriter();
// String str=request.getParameter("find");


Resource res=new ClassPathResource("bean-conf.xml");

XmlBeanFactory beanfact=new XmlBeanFactory(res);

MydataspringhernateberDao test=(MydataspringhernateberDao)beanfact.getBean("dao1");

String hql="from jp.tuyano.framework.spring.Mydataspring";

List list=test.getFindObject(hql);

out.println("<html><body>");

for (int i=0; i<list.size();i++)
{
Mydataspring mm=(Mydataspring)list.get(i);
System.out.println(mm.getCode());
System.out.println(mm.getDate());
System.out.println(mm.getFix());
System.out.println(mm.getSql());

}


this.showFind (list,out);



out.println("</body></htnl>");


}

public void showFind(List list,PrintWriter out)
{
out.println("<table border=1>");

for(int i=1;i<list.size();i++)
{

Mydataspring mm=(Mydataspring)list.get(i);
out.println("");
out.println("<tr>");
out.println("<td>"+mm.getCode()+"<td>");
out.println("<td>"+mm.getDate()+"<td>");
out.println("<td>"+mm.getFix() +"<td>");
out.println("<td>"+mm.getSql()+"<td>");
out.println("<tr>");

}

}
}

************
bean_conf.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="MydataspringDao"
class="jp.tuyano.framework.spring.MydataspringDao">
<property name="datasource">
<ref local="data1"/>
</property>
</bean>

<bean id="data1"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>

<property name="url">
<value>jdbc:mysql:///EDI</value>
</property>

<property name="username">
<value>040401257</value>
</property>

<property name="password">
<value>huangdong</value>
</property>

</bean>

<bean id="factory1"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="data1"/>
</property>
<property name="mappingResources">
<list>
<value>map.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
</props>
</property>
</bean>

<bean id="template1"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref local="factory1"/>
</property>
</bean>

<bean id="dao1"
class="jp.tuyano.framework.spring.MydataspringhernateberDao">
<property name="sessionFactoty">
<ref local="factory1"/>
</property>

<property name="hibernateTemplate">
<ref local="template1"/>
</property>
</bean>

</beans>
******************************
map.hbm.xml
<?xml version="1.0" ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="jp.tuyano.framework.spring.Mydataspring" table="practicefileget">
<id name="code" type="string" unsaved-value="null">
<column name="code" sql-type="char(5)" not-null="true"/>
<generator class="assigned"/>
</id>

<property name="sql" type="string" column="sql"/>
<property name="fix" type="string" column="fix"/>
<property name="date" type="string" column="date"/>
</class>
</hibernate-mapping>






あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-12-10 12:21
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dao1' defined in class path resource [bean-conf.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sessionFactoty' of bean class [jp.tuyano.framework.spring.MydataspringhernateberDao]: Bean property 'sessionFactoty' is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-11 10:53
拙いですがエラーメッセージの日本語訳は以下のような感じ。

org.springframework.beans.factory.BeanCreationException: クラスパス[bean-conf.xml]にて定義された'dao1'という名称のbeanを作成する際にエラーが発生しました : プロパティに値を設定する際のエラーです; ネストされた例外は以下の通りです。
org.springframework.beans.NotWritablePropertyException:
[jp.tuyano.framework.spring.MydataspringhernateberDao]でプロパティ'sessionFactoty'は無効です: Beanのプロパティ'sessionFactoty'に書き込めません。
もしくはsetterメソッドが無効です。: setterの引数の型はgetterの戻り値の型と同じですか?

エラーメッセージには大抵「答えそのもの」が書いてあります。
面倒くさがらずに読む癖をつけましょう。
答えがそこにあるのにスルーしているようでは勉強とは言えませんよ
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-12-11 12:16
助けない
がんばれ!
未記入
会議室デビュー日: 2006/12/10
投稿数: 5
投稿日時: 2006-12-11 23:35
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)