protected override void InitializeServiceLocator() { IConfigurableApplicationContext context = new StaticApplicationContext(); objectFactory = context.ObjectFactory; var sl = new SpringServiceLocatorAdapter(objectFactory); objectFactory.RegisterInstance <IServiceLocator>(sl); ServiceLocator.SetLocatorProvider(() => sl); objectFactory.Register <IInvoiceTotalCalculator, SumAndTaxTotalCalculator>(); objectFactory.RegisterPrototype <IInvoice, Invoice>(); }
public static void RegisterDefaultConversationAop(this IConfigurableListableObjectFactory confObjFactory) { var metaInfoStore = new ReflectionConversationalMetaInfoSource(); confObjFactory.RegisterInstance(metaInfoStore); // register advisor definition var pc = ObjectDefinitionBuilder.RootObjectDefinition(ObjectDefinitionFactory, typeof(ConversationInterceptor)) .SetAutowireMode(AutoWiringMode.AutoDetect) .SetSingleton(false); confObjFactory.RegisterObjectDefinition("PersistentConversationalInterceptor", pc.ObjectDefinition); var postProcessor = new ConversationalAttributeAutoProxyCreator(metaInfoStore) { ObjectFactory = confObjFactory, InterceptorNames = new[] { "PersistentConversationalInterceptor" } }; confObjFactory.AddObjectPostProcessor(postProcessor); }