Injection using blah.getFoo().setBar(bar); should be fine.  There isn't
any setFoo, but its not a private injection.

________________________________

From: Nathan Maves [mailto:[EMAIL PROTECTED] 
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 <[EMAIL PROTECTED]> 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)
            ...
        }
        


Reply via email to