ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Pitts" <Daniel.Pi...@cnet.com>
Subject RE: cannot write to property without a setter
Date Tue, 06 Feb 2007 20:48:12 GMT
Injection using blah.getFoo().setBar(bar); should be fine.  There isn't
any setFoo, but its not a private injection.

________________________________

From: Nathan Maves [mailto:nathan.maves@gmail.com] 
Sent: Tuesday, February 06, 2007 12:31 PM
To: user-java@ibatis.apache.org
Subject: Re: cannot write to property without a setter


I have never tried to do what you say in Spring.

In fact I have never tried it at all :)

My personal opinion is that you should never try and inject into private
properties.  Follow the bean specs and all will be well. 

Nathan


On 2/6/07, Reuben Firmin <Reuben.Firmin@copart.com> wrote: 

	Let's say I have a class structure as per below. Ibatis doesl
not seem to let me address the path foo.bah.someProperty, because there
is no setter (Foo#setBah). Specifically, I get
"com.ibatis.common.beans.ProbeException : There is no WRITEABLE
property". Spring, on the other hand, is fine with this particular
setup, and in fact seems to ignore the setBah() method if it exists. Is
there a good argument for one way or the other?
	
	public class Foo
	{
	    private Bah bah;
	
	    public Foo()
	    {
	        bah = new Bah();
	    }
	
	    public Bah getBah()
	    {
	        return bah;
	    }
	}
	
	public class Bah
	{ 
	    private int someProperty;
	
	    public int getSomeProperty()
	    ...
	
	    public void setSomeProperty(int someProperty)
	    ...
	}
	



Mime
View raw message