Someone discovered using lookup functions was a way to avoid circular references
<bean a> <bean b> </bean> <bean b> <lookup bean a> </bean> The problem with this is that bean b needs to be abstract so spring can inject the method. Abstract classes do not warn you when a class has not implemented a particular interface fully which is an incredibly valuable thing to know, especially in refactoring projects as I discovered. In every case I analyzed the circular dependency and easily avoid the issue by shuffling code around. In each case, the final implementation was more cohesive, and overall more clear. Another use of lookup functions is to instantiate prototype beans (as opposed to singleton beans). I admit this *is* a legitimate use of this spring feature however I found that the issue with abstract classes I mentioned earlier to be so great it's not worth using lookup functions IMO. Instead, simply keeping a reference to the bean factory and calling beanFactory.getBean to be fairly simple workaround however primitive it is. Please respond if you disagree or have comments, otherwise I'll assume we're all ok w/avoiding this feature. -- Join me to talk about sipXecs and the upcoming version 4.6 at CoLab @ CSU March (5th & 6th). http://www.sipfoundry.org/sipx-colab Hack with me on at the CoLab Hackfest. http://wiki.sipfoundry.org/display/sipXecs/2012+sipX-CoLab+Hackfest _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev/
