- - PR -
spring+hibernate助けてください
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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> |
|
投稿日時: 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?
|
|
投稿日時: 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の戻り値の型と同じですか? エラーメッセージには大抵「答えそのもの」が書いてあります。 面倒くさがらずに読む癖をつけましょう。 答えがそこにあるのにスルーしているようでは勉強とは言えませんよ |
|
投稿日時: 2006-12-11 12:16
助けない
がんばれ! |
|
投稿日時: 2006-12-11 23:35
ありがとうございます。
|
1