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) ... }