Shameless plug here that I wrote a BeanInjector component that will autowire anything using ColdSpring, and cache the dependencies for a given type so that all subsequent transients of that type just have the dependencies autowired without any further lookup in CS. This is what underlies the Transfer Decorator Bean Injector that I released, but it can be used with anything (your own transients, Reactor record objects, or whatever else you need autowired). So we can have our cake and eat it too. :-)
On Jan 31, 2008 7:54 AM, Peter Bell <[EMAIL PROTECTED]> wrote: > > It isn't the DAO that'd be a transient - it'd be the User business object > that (if ColdSpring served it up) would be a transient (singleton=false). > You'd inject the singleton DAO into it. > > Proviso: Some people on the lists have recommended NOT using ColdSpring > for > transients, but creating a custom factory instead (or I use LightWire). > Others have used ColdSpring for instantiating their transients without > problems. > > Best Wishes, > Peter > > > On 1/31/08 5:30 AM, "Michael Sharman" <[EMAIL PROTECTED]> wrote: > > > > > Hi Peter, > > > >> - For user.save() you need to inject a DAO into your transients which > >> requires ColdSpring with singleton=false > > > > Would the DAO composed into the User bean not be a singleton? Why > > would you need a 'per instance' DAO for each and every User bean? > > > > On Jan 31, 4:16 am, Peter Bell <[EMAIL PROTECTED]> wrote: > >> Hi Alan, > >> > >> Been pretty much beaten to death on cfcdev over the years. Short > answer, it > >> isn't right or wrong - more a matter of preference. > >> > >> I prefer syntactically User.save() to UserService.save(User), but > that's a > >> pure preference Others prefer it the other way round. > >> > >> Provisos: > >> - Don't put SQL in the bean - eithr way the saving should be delegated > to a > >> DAO > >> - For user.save() you need to inject a DAO into your transients which > >> requires ColdSpring with singleton=false, a custom factory or > lightwire. > >> - If you need to support remote method cals, you're going to need a > >> Userservice.save() method. I have one for remote calls ad it just > delgates > >> to a new bean it creates. Some may prefer just to have the service do > the > >> save all the time, but again it's down to preferences. > >> > >> Best Wishes, > >> Peter > >> > >> On 1/30/08 12:03 PM, "Alan Livie" <[EMAIL PROTECTED]> wrote: > >> > >> > >> > >> > >> > >>> We currently use the service object to save a bean (which uses a > >>> gateway/DAO its composed with to do the work) > >> > >>> Another developer has suggested the bean should save really be > >>> responsible for saving itself (again using a DAO its composed with). > >> > >>> This looks like a good one for a discussion! :-) > >> > >>> Alan- Hide quoted text - > >> > >> - Show quoted text - > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CFCDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cfcdev?hl=en -~----------~----~----~----~------~----~------~--~---
