Spring.Net Object模块 相关接口及说明

 为了从设计的角度理解Spring.Net FrameWork,个人觉得可以先从接口设计入手,本文从Object模块入手,摘录Object接口说明文档,一来是对Object模块的接口实际有一个全面的了解,二来也是为了提高自身英文水平,故基本采用英文格式,权当个人笔记。

1.   Spring.Objects Namespace

Contains interfaces and classes for manipulating plain old .NET objects (PONOs).

The classes and interfaces declared in this namespace are central to Spring.NET's Inversion of Control (IoC) container implementation.

num

interface

Reference & relation

description

1

IEventHandlerValue

null

Describes an event handler.

2

IObjectWrapper

IobjectFactory

The central interface of Spring.NET’s low-level object infrastructure.

Typically not directly used by application code but rather implicitly[间接地] via an Spring.Objects.Factory.IobjectFactory.

Implementing classes have the ability to get and set property values (individually or in bulk), get property descriptors and query the readability and writability of properties.

This interface supports nested properties enabling the setting of properties on subproperties to an unlimited depth.

If a property update causes an exception, a Spring.Core.PropertyAccessException will be thrown. Bulk updates continue after exceptions are encountered, throwing an exception wrapping all exceptions encountered during the update.

IobjectWrapper implementations can be used repeatedly, with their “target” or wrapped object changed.

3

IPropertyValues

Ienumerable

PropertyValue[3.1]

A collection style container for PropertyValue instances.

3.1

PropertyValue

 

Holds information and value for an individual property.

Using an object here, rather than just storing all properties in a map keyed by property name, allows for more flexibility, and the ability to handle indexed properties in a special way if necessary.

Note that the value doesn’t need to be the final required Type: an Spring.Objects.IobjectWrapper implementation must handle any necessary conversion, as this object doesn’t know anything about the objects it will be applied to.

4

ISharedStateAware

 

This interface should be implemented by classes that want to have access to the shared state.

Shared state is very useful if you have data that needs to be shared by all instances of e.g. the same webform (or other IHttpHandlers).

 

For example, Spring.Web.UI.Page class implements this interface, which allows each page derived from it to cache localizalization resources and parsed data binding expressions only once and then reuse the cached values, regardless of how many instances of the page are created.

 

5

ISharedStateFactory

 

Abstracts the state sharing strategy used by SharedStateAwareProcessor

2.   Spring.Objects.Factory Namespace

The core namespace implementing Spring.NET's lightweight Inversion of Control (IoC) container.            
Provides an alternative to the Singleton and Prototype design patterns, including a consistent approach to configuration management. Builds on top of the classes defined in the Spring.Objects namespace.

num

interface

Reference & relation

description

1

IFactoryObject

null

Interface to be implemented by objects used within an Spring.Objects.Factory.IObjectFactory that are themselves factories.

If an object implements this interface, it is used as a factory, not directly as an object. IFactoryObjects can support singletons and prototypes (IsSingleton)... please note that an IFactoryObject itself can only ever be a singleton. It is a logic error to configure an IFactoryObject itself to be a prototype.

An object that implements this interface cannot be used as a normal object.

2

IGenericObjectFactory

 

Interface defining a factory which can return an object instance (possibly shared or independent) when invoked.

This interface is typically used to encapsulate a generic factory [泛型工厂] which returns a new instance (prototype) on each invocation. It is similar to the Spring.Objects.Factory.IFactoryObject, but implementations of the aforementioned interface are normally meant to be defined as instances by the user in an Spring.Objects.Factory.IObjectFactory, while implementations of this class are normally meant to be fed as a property to other objects; as such, the GetObject method has different exception handling behavior. 

3

IHierarchicalObjectFactory

IObjectFactory

Sub-interface implemented by object factories that can be part of a hierarchy.

4

IInitializingObject

 

Defines a simple initialization callback for objects that need to some post-initialization logic[后初始化逻辑] after all of their dependencies have been injected.

An implementation of the Spring.Objects.Factory.IinitializingObject.AfterPropertiesSet method might perform some additional custom initialization (over and above that performed by the constructor), or merely check that all mandatory properties have been set (this last example is a very typical use case of this interface).

The use of the IInitializingObject interface by non-Spring.NET framework code can be avoided (and is generally discouraged). The Spring.NET container provides support for a generic initialization method given to the object definition in the object configuration store (be it XML, or a database, etc). This requires slightly more configuration (one attribute-value pair in the case of XML configuration), but removes any dependency on Spring.NET from the class definition.

5

IListableObjectFactory

IObjectFactory

Extension of the Spring.Objects.Factory.IObjectFactory interface to be implemented by object factories that can enumerate[枚举] all their object instances, rather than attempting object lookup by name one by one as requested by clients.

6

IObjectFactory

null

The root interface for accessing a Spring.NET IoC container.

This is the basic client view of a Spring.NET IoC container; further interfaces such as Spring.Objects.Factory.IListableObjectFactory and Spring.Objects.Factory.Config.IConfigurableObjectFactory are available for specific purposes such as enumeration and configuration.

This is the root interface to be implemented by objects that can hold a number of object definitions, each uniquely identified by a String name. An independent instance of any of these objects can be obtained (the Prototype design pattern), or a single shared instance can be obtained (a superior alternative to the Singleton design pattern, in which the instance is a singleton in the scope of the factory). Which type of instance will be returned depends on the object factory configuration - the API is the same. The Singleton approach is more useful and hence more common in practice.

The point of this approach is that the IObjectFactory is a central registry of application components, and centralizes the configuring of application components (no more do individual objects need to read properties files, for example). See chapters 4 and 11 of "Expert One-on-One J2EE Design and Development" for a discussion of the benefits of this approach.

Normally an IObjectFactory will load object definitions stored in a configuration source (such as an XML document), and use the Objects namespace to configure the objects. However, an implementation could simply return .NET objects it creates as necessary directly in .NET code. There are no constraints on how the definitions could be stored: LDAP, RDBMS, XML, properties file etc. Implementations are encouraged to support references amongst objects, to either Singletons or Prototypes.

In contrast to [相反] the methods in Spring.Objects.Factory.IListableObjectFactory, all of the methods in this interface will also check parent factories if this is an Spring.Objects.Factory.IHierarchicalObjectFactory. If an object is not found in this factory instance, the immediate parent is asked. Objects in this factory instance are supposed to override objects of the same name in any parent factory.

7

IObjectFactoryAware

null

Interface to be implemented by objects that wish to be aware of their owning Spring.Objects.Factory.IObjectFactory.

For example, objects can look up collaborating objects via the factory.

Note that most objects will choose to receive references to collaborating objects via respective properties and / or an appropriate[合适的,适当的] constructor.

For a list of all object lifecycle methods, see the Spring.Objects.Factory.IObjectFactory API documentation.

8

IObjectNameAware

null

Interface to be implemented by objects that wish to be aware of their object name in an Spring.Objects.Factory.IObjectFactory.

Note that most objects will choose to receive references to collaborating objects via respective properties[各自的属性].

For a list of all object lifecycle methods, see the Spring.Objects.Factory.IObjectFactory API documentation.

3.   Spring.Objects.Factory.Config Namespace

Configuration-related convenience classes for object factories.

num

interface

Reference & relation

description

1

IAutowireCapableObjectFactory

null

Extension of the Spring.Objects.Factory.IObjectFactory interface to be implemented by object factories that are capable of autowiring [自动装配] and expose this functionality for existing object instances.

2

IConfigurableFactoryObject

IFactoryObject

Extension of the Spring.Objects.Factory.IFactoryObject interface that injects dependencies into the object managed by the factory [通过工厂向对象注入依赖].

3

IConfigurableListableObjectFactory

l     IAutowireCapableObjectFactory

l     IConfigurableObjectFactory

l     ISingletonObjectRegistry

l     IHierarchicalObjectFactory

l     IListableObjectFactory

l     IObjectFactory

SPI interface to be implemented by most if not all listable object factories.

Allows for framework-internal plug'n'play, e.g. in AbstractApplicationContext.

4

IConfigurableObjectFactory

l     ISingletonObjectRegistry

l     IHierarchicalObjectFactory

l     IObjectFactory

Configuration interface to be implemented by most if not all object factories.

Provides the means[方法] to configure an object factory in addition to the object factory client methods in the Spring.Objects.Factory.IObjectFactory interface.

Allows for framework-internal plug'n'play even when needing access to object factory configuration methods.

When disposed, it will destroy all cached singletons in this factory. Call Dispose when you want to shutdown the factory.

5

IDestructionAwareObjectPostProcessor

l     IObjectPostProcessor

Subinterface [子接口] of Spring.Objects.Factory.Config.IObjectPostProcessor that adds a before-destruction callback.

The typical usage will be to invoke custom destruction callbacks on specific object types, matching corresponding initialization callbacks.

6

IInstantiationAwareObjectPostProcessor

l     IObjectPostProcessor

Subinterface of Spring.Objects.Factory.Config.IObjectPostProcessor that adds a before-instantiation callback.

Typical use cases might include being used to suppress the default instantiation of specific target objects, perhaps in favour of creating proxies with special Spring.Aop.ITargetSources (pooling targets, lazily initializing targets, etc).

7

IObjectPostProcessor

null

Allows for custom modification [自定义修改] of new object instances, e.g. checking for marker interfaces or wrapping them with proxies.

Application contexts can auto-detect [自动侦测] IObjectPostProcessor objects in their object definitions and apply them before any other objects get created. Plain object factories allow for programmatic registration of post-processors.

Typically, post-processors that populate objects via marker interfaces or the like will implement IObjectPostProcessor.PostProcessBeforeInitialization, and post-processors that wrap objects with proxies will normally implement IObjectPostProcessor.PostProcessAfterInitialization.

8

IObjectFactoryPostProcessor

 

Allows for custom modification of an application context's object definitions, adapting the object property values of the context's underlying object factory.

Application contexts can auto-detect IObjectFactoryPostProcessor objects in their object definitions and apply them before any other objects get created.

Useful for custom config files targeted at system administrators that override object properties configured in the application context.

See PropertyResourceConfigurer and its concrete implementations for out-of-the-box solutions that address such configuration needs.

9

IObjectDefinition

null

Describes an object instance, which has property values, constructor argument values, and further information supplied by concrete implementations.

This is just a minimal interface[最小接口]: the main intention[目的] is to allow Spring.Objects.Factory.Config.IObjectFactoryPostProcessor (like PropertyPlaceholderConfigurer) to access and modify property values.

10

ISingletonObjectRegistry

 

Interface that defines a registry for shared object instances.

Can be implemented by Spring.Objects.Factory.IObjectFactory implementations in order to expose their singleton management facility in a uniform manner[统一的方式].

The Spring.Objects.Factory.Config.IConfigurableObjectFactory interface extends this interface.

11

IVariableSource[变量源]

null

Defines contract[规定] that different variable sources have to implement.

The "variable sources" are objects containing name-value pairs that allow a variable value to be retrieved for the given name[通过名称检索值].

Out of the box, Spring.NET supports a number of variable sources, that allow users to obtain variable values from .NET config files, Java-style property files, environment, registry, etc.

Users can always write their own variable sources implementations, that will allow them to load variable values from the database or other proprietary data source[用户可以提供自己的实现].

12

SmartInstantiationAwareObjectPostProcessor

l     IInstantiationAwareObjectPostProcessor

l     IObjectPostProcessor

Extension of the IInstantiationAwareObjectPostProcessor interface, adding a callback for predicting the eventual[最终的] type of a processed object.

This interface is a special purpose interface, mainly for internal use within the framework. In general, application-provided post-processors should simply implement the plain Spring.Objects.Factory.Config.IObjectPostProcessor interface or derive from the InstantiationAwareObjectPostProcessorAdapter class. New methods might be added to this interface even in point releases.

4. Spring.Objects.Factory.Support Namespace

Classes supporting the classes defined in the Spring.Objects.Factory namespace.

Contains a number of abstract base classes for custom IObjectFactory implementations.    [support:支持]

num

interface

Reference & relation

description

1

IAutowireCandidateResolver

null

Strategy interface for determining whether a specific object definition qualifies as an autowire[自动装配] candidate for a specific dependency.

2

IConfigurableObjectDefinition

IObjectDefinition

Describes a configurable object instance, which has property values, constructor argument values, and further information supplied by concrete implementations.

3

IInstantiationStrategy

null

Responsible for creating instances corresponding to a Spring.Objects.Factory.Support.RootObjectDefinition.

4

IManagedCollection

 

Denotes a special placeholder collection that may contain RuntimeObjectReferences or other placeholder objects that will need to be resolved.

'A special placeholder collection' means that the elements of this collection can be placeholders for objects that will be resolved later by a Spring.NET IoC container, i.e. the elements themselves will be resolved at runtime by the enclosing IoC container.

The core Spring.NET library already provides three implementations of this interface straight out of the box; they are...

l     ManagedList.

l     ManagedDictionary.

l     ManagedSet.

If you have a custom collection class (i.e. a class that either implements the ICollection directly or derives from a class that does) that you would like to expose as a special placeholder collection (i.e. one that can have RuntimeObjectReferences as elements that will be resolved at runtime by an appropriate Spring.NET IoC container, just implement this interface.

5

IMethodReplacer

null

Permits the (re)implementation of an arbitrary method on a Spring.NET IoC container managed object.

Encapsulates the notion of the Method-Injection form of Dependency Injection.

Methods that are dependency injected with implementations of this interface may be (but need not be) , in which case the container will create a concrete subclass of the class prior to[之前的] instantiation.

Do not use this mechanism as a means of AOP. See the reference manual for examples of appropriate usages of this interface.

6

IObjectDefinitionFactory

null

Central interface for factories that can create IConfigurableObjectDefinition instances.

Allows for replaceable object definition factories using the Strategy pattern.

7

IObjectDefinitionReader

null

Simple interface for object definition readers.

8

IObjectDefinitionRegistry

null

Interface for registries that hold object definitions, i.e. Spring.Objects.Factory.Support.RootObjectDefinition and Spring.Objects.Factory.Support.ChildObjectDefinition instances.

Typically implemented by object factories that work with the AbstractObjectDefinition hierarchy internally.

9

IObjectNameGenerator

null

Strategy interface for generating object names for object definitions

5.   Spring.Objects.Factory.Xml Namespace

Contains an abstract XML-based IObjectFactory implementation, including an XML Schema for validation.

num

interface

Reference & relation

description

1

INamespaceParser

null

Strategy interface for parsing XML object definitions.

Used by DefaultObjectDefinitionDocumentReader for actually parsing a DOM document or XmlElement fragment.

2

IObjectDefinitionDocumentReader

 

SPI for parsing an XML document that contains Spring object definitions. Used by Spring.Objects.Factory.Xml.XmlObjectDefinitionReader for actually parsing a DOM document.

Instantiated[实例化] per document to parse: Implementations can hold state in instance variables during the execution of the RegisterObjectDefinitions method, for example global settings that are defined for all object definitions in the document.

3

IObjectDefinitionParser

 

Interface used to handle custom, top-level tags.

Implementations are free to turn the metadata in the custom tag into as many Spring.Objects.Factory.Config.IObjectDefinition as required.

6.   Spring.Objects.Support Namespace

Classes supporting the classes defined in the Spring.Objects.Factory namespace.

num

interface

Reference & relation

description

1

ISortDefinition

null

Definition for sorting object instances by a property.

7. Spring.Objects.Events Namespace

Note: Interfaces that define a loosely coupled event model.

num

interface

Reference & relation

description

1

IEventRegistry

null

A registry that manages subscriptions to and the publishing of events.

2

IEventRegistryAware

null

To be implemented by any object that wishes to receive a reference to an Spring.Objects.Events.IEventRegistry.

This interface only applies to objects that have been instantiated [实例化] within the context of an IApplicationContext. This interface does not typically need to be implemented by application code, but is rather used by classes internal to Spring.NET.

 

8. Spring.Objects.Events.Support NameSpace : Support classes for the interfaces defined in the Spring.Objects.Events namespace, such as an implementation of the IEventRegistry interface.

9. Spring.Objects.Factory.Attributes NameSpace : Required attribute and corresponding object factory post processor.

10. Spring.Objects.Factory.Parsing NameSpace : Helper classes used when parsing XML configuration files

转载于:https://www.cnblogs.com/wbgu/archive/2009/03/17/1414335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NETJava版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上。 第一章 序言 第二章 简介 2.1.概述 2.2.背景 2.3.模块 2.4.许可证信息 2.5.支持 第三章 背景 3.1.控制反转 第一部分 核心技术 第四章 对象、对象工厂和应用程序上下文 4.1.简介 4.2.IObjectFactory,IApplicationContext和IObjectDefinition接口介绍 4.2.1.The IObjectFactory和IApplicationContext 4.2.2.对象定义 4.2.3.对象的创建 4.2.3.1.通过构造器创建对象 4.2.3.2.通过静态工厂方法创建对象 4.2.3.3.通过实例工厂方法创建对象 4.2.4.泛型类的对象创建 4.2.4.1.通过构造器创建泛型类的对象 4.2.4.2.通过静态工厂方法创建泛型类的对象 4.2.4.3.通过实例工厂方法创建泛型类的对象 4.2.5.对象标识符(id和name) 4.2.6.Singleton和Prototype 4.3.属性,协作对象,自动装配和依赖检查 4.3.1.设置对象的属性和协作对象 4.3.2.构造器参数解析 4.3.2.1.根据参数类型匹配构造器参数 4.3.2.2.根据参数索引匹配构造器参数 4.3.2.3.根据名称匹配构造器参数 4.3.3.详细讨论对象属性和构造器参数 4.3.3.1.设置空值 4.3.3.2.设置集合值 4.3.3.3.设置泛型集合的值 4.3.3.4.设置索引器属性 4.3.3.5.内联对象定义 4.3.3.6.idref节点 4.3.3.7.引用协作对象 4.3.3.8.value和ref节点的简短格式 4.3.3.9.复合属性名 4.3.4.方法注入 4.3.4.1.查询方法注入 4.3.4.2.替换任意方法 4.3.5.引用其他对象或类型的成员 4.3.5.1.使用对象或类的属性值进行注入 4.3.5.2.使用字段值进行注入 4.3.5.3.使用方法的返回值进行注入 4.3.6.IFactoryObject接口的其它实现 4.3.6.1.Log4Net 4.3.7.使用depends-on 4.3.8.自动装配协作对象 4.3.9.检查依赖项 4.4.类型转换 4.4.1.枚举类型的转换 4.4.2.内置的类型转换器 4.4.3.自定义类型转换器 4.4.3.1.使用CustomConverterConfigurer类 4.5.自定义对象的行为 4.5.生命周期接口 4.5.1.1.IInitializingObject接口和init-method属性 4.5.1.2.IDisposable接口和destroy-method属性 4.5.2.让对象了解自己的容器 4.5.2.1.IObjectFactoryAware接口 4.5.2.2.IObjectNameAware接口 4.5.3.IFactoryObject接口 4.6.抽象与子对象定义 4.7.与IObjectFactory接口交互 4.7.1.获得IFactoryObject对象本身,而非其产品 4.8.使用IObjectPostProcessor接口自定义对象 4.9.使用IObjectFactoryPostProcessor定制对象工厂 4.9.1.PropertyPlaceholderConfigurer类 4.9.1.1.使用环境变量进行替换 4.9.2.PropertyOverrideConfigurer类 4.10.使用alias节点为对象添加别名 4.11.IApplicationContext简介 4.12.配置应用程序上下文 4.12.1.注册自定义解析器 4.12.2.创建自定义资源处理器 4.12.3.配置类型别名 4.12.4.注册类型转换器 4.13.IApplicationContext接口的扩展功能 4.13.1.上下文继承 4.13.2.使用IMessageSource接口 4.13.3.在Spring.NET内部使用资源 4.13.4.松耦合事件模型 4.13.5.IApplicationContext的事件通知 4.14.定制IApplicationContex中对象的行为 4.14.1.IApplicationContextAware标识接口 4.14.2.IObjectPostProcessor接口 4.14.3.IObjectFactoryPostProcessor接口 4.14.4.PropertyPlaceholderConfigurer类 4.15.从其它文件中导入对象定义 4.16.服务定位器访问 第五章. IObjectWrapper接口和类型转换 5.1.简介 5.2.使用IObjectWrapper接口管理对象 5.2.1.读、写普通及嵌套的属性 5.2.2.其它功能 5.3.类型转换 5.3.1.转换枚举类型 5.4.内置类型转换器 第六章. IResource接口 6.1.简介 6.2.IResource接口 6.3.内置的IResource实现类 6.4.IResourceLoader接口 6.5.IResourceLoaderAware接口 6.6.应用程序上下文和IResource路径 第七章. 多线程和并发操作 7.1.简介 7.2.线程本地存储 7.3.同步基础 7.3.1.ISync 7.3.2.SyncHolder 7.3.3.Latch 7.3.4.Semaphore 第八章. 对象池 8.1.简介 8.2.接口和实现 第九章. Spring.NET杂记 9.1.简介 9.2.PathMatcher 9.2.1.通用规则 9.2.2.匹配文件名 9.2.3.匹配子目录 9.2.4.大小写需要考虑,斜线可以任意 第十章. 表达式求值 10.1.简介 10.2.表达式求值 10.3.语言参考 10.3.1.文字表达式 10.3.2.属性,数组,列表,字典,索引器 10.3.2.1.定义内联的数组、列表和词典 10.3.3.方法 10.3.4.操作符 10.3.4.1.关系操作符 10.3.4.2.逻辑操作符 10.3.4.3.算术运算符 10.3.5.赋值 10.3.6.表达式列表 10.3.7.类型 10.3.8.类型注册 10.3.9.构造器 10.3.10.变量 10.3.10.1.'#this'和'#root'变量 10.3.11.三元操作符(If-Then-Else) 10.3.12.列表的投影(Projection)和选择(Selection) 10.3.13. 集合处理器和聚合器 10.3.13.1.Count聚合器 10.3.13.2.Sum聚合器 10.3.13.3.Average聚合器 10.3.13.4.Minimum聚合器 10.3.13.5.Maximum聚合器 10.3.13.6.nonNull处理器 10.3.13.7.distinct处理器 10.3.13.8.sort处理器 10.3.14.引用容器中的对象 10.3.15.Lambda表达式 10.3.16.空目标 10.4.本章使用的示例类型 第十一章. 验证框架 11.1.简介 11.2.用法示例 11.3.验证对象组 11.4.验证对象 11.4.1.条件验证对象 11.4.2.必需性验证对象 11.4.3.正则表达式验证对象 11.4.4.通用验证对象 11.4.5.条件型验证 11.5.验证行为 11.5.1.错误消息行为 11.5.2.通用行为 11.6.引用验证对象 11.7.在ASP.NET中的使用技巧 11.7.1.显示验证错误 11.7.1.1.配置错误显示类 第十二章. 使用Spring.NET进行面向方面的编程 12.1.简介 12.1.1.AOP基本概念 12.1.2.Spring.NET AOP的功能 12.1.3.Spring.NET的AOP代理 12.2.Spring.NET中的切入点 12.2.1.概念 12.2.2.切入点的操作 12.2.3.Spring.NET提供的切入点实现类 12.2.3.1.静态切入点 12.2.3.2.动态切入点 12.2.4.自定义切入点 12.3.Spring.NET的通知类型 12.3.1.通知的生命周期 12.3.2.通知类型 12.3.2.1.拦截环绕通知 12.3.2.2.前置通知 12.3.2.3.异常通知 12.3.2.4.后置通知 12.3.2.5.引入通知 12.4.Spring.NET中的Advisor 12.5.使用ProxyFactoryObject创建AOP代理 12.5.1.基本原理 12.5.2.ProxyFactoryObject的属性 12.5.3.代理接口 12.5.4.代理一个类 12.6.使用ProxyFactory类以编程方式创建AOP代理 12.7.管理目标对象 12.8.使用“自动代理”功能 12.8.1.自动代理对象的定义 12.8.1.1.ObjectNameAutoProxyCreator 12.8.1.2.DefaultAdvisorAutoProxyCreator 12.8.1.3.AbstractAutoProxyCreator 12.8.2.使用特性驱动的自动代理 12.9.使用TargetSources 12.9.1.动态切换TargetSource 12.9.2.池化TargetSource 12.9.3.PrototypeTargetSource 12.10.定义新的通知类型 12.11.参考资源 第十三章.通用日志抽象层 13.1.简介 13.1.1.Logging API 13.2.实现与配置 13.2.1.控制台Logger 13.3.Log4Net 第二部分. 中间层数据访问 第十四章. 事务管理 14.1.简介 14.2.动机 14.3.核心接口 14.4.用事务进行资源同步 14.4.1.高层次方法 14.4.2.低层次方法 14.5.声明式事务管理 14.5.1.理解Spring.NET声明式事务管理的实现 14.5.2.第一个例子 14.5.3.Transaction特性的设置 14.5.4.通过AutoProxyCreator使用声明式事务 14.5.5.通过TransactionProxyFactoryObject使用声明式事务 14.5.6. 通过ProxyFactoryObject使用声明式事务 14.5.7. Using Abstract object definitions 14.5.8. Declarative Transactions using ProxyFactoryObject 14.6. 编程方式的事务管理 14.6.1.使用TransactionTemplate 14.6.2.使用IPlatformTransactionManager 14.7.选择编程方式还是声明方式 第十五章. 数据访问对象 15.1.简介 15.2.统一的异常体系 15.3.为数据访问对象提供的统一抽象基类 第十六章. DbProvider 16.1.简介 16.1.1.IDbProvider和DbProviderFactory 16.1.2. XML配置 16.1.3.管理连接字符串 第十七章. 使用ADO.NET进行数据访问 17.1.简介 17.2.动机 17.3.Provider抽象 17.3.1.创建IDbProvider类型的实例 17.4.命名空间 17.5.数据访问的方式 17.6.AdoTemplate简介 17.6.1.执行回调 17.6.2.在.NET 2.0中执行回调 17.6.3. .NET 1.1 17.6.4.AdoTemplate方法指南 17.7.异常翻译 17.8.参数管理 17.8.1. IDbParametersBuilder 17.8.2. IDbParameters 17.9. Mapping DBNull values 17.10. Basic data access operations 17.10.1. ExecuteNonQuery 17.10.2. ExecuteScalar 17.11. Queries and Lightweight Object Mapping 17.11.1. ResultSetExtractor 17.11.2. RowCallback 17.11.3. RowMapper 17.11.4. Query for a single object 17.11.5. Query using a CommandCreator 17.12. DataTable and DataSet 17.12.1. DataTables 17.12.2. DataSets 17.13. Deriving Stored Procedure Parameters 17.14. Database operations as Objects 17.14.1. AdoNonQuery 17.14.2. AdoQuery 17.14.3. MappingAdoQuery 17.14.4. Stored Procedure 17.14.5. DataSetOperation 18. ORM集成 18.1. 简介 第三部分. Web框架 第十九章. Web框架 19.1.简介 19.2.自动装载应用程序上下文和应用程序上下文嵌套 19.2.1. 配置 19.2.2.上下文嵌套 19.3.为ASP.NET页面进行依赖注入 19.3.1.为Web控件进行依赖注入 19.4.Master Page 19.4.1.将子页面与Master Page关联 19.5.双向数据绑定 19.5.1.数据绑定的后台实现 19.5.1.1.绑定方向 19.5.1.2.Formatters 19.5.1.3.类型转换 19.5.1.4.数据绑定事件 19.6.本地化 19.6.1.使用Localizer进行自动本地化(“推”模型) 19.6.2.使用Localizer 19.6.3.手动应用资源(“拉”模型的本地化) 19.6.4.在Web应用程序中进行图像本地化 19.6.5.全局资源 19.6.6.用户语言文化管理 19.6.6.1. DefaultWebCultureResolver 19.6.6.2. RequestCultureResolver 19.6.6.3. SessionCultureResolver 19.6.6.4. CookieCultureResolver 19.6.7.更改语言文化 19.7.结果映射 19.8.客户端脚本 19.8.1.在HTML的head节点内注册客户端脚本 19.8.2.向节点中添加CSS定义 19.8.3.全局目录(Well-Known Directories) 第四部分. 服务 第二十章. .NET Remoting 20.1.简介 20.2.在服务端发布SAO 20.2.1.SAO Singleton 20.2.2.SAO SingleCall 20.2.3.IIS应用程序配置 20.3.在客户端访问SAO 20.4.CAO 最佳实践 20.5.在服务端注册CAO 20.5.1.向CAO对象应用AOP通知 20.6.在客户端访问CAO 20.6.1.向客户端的CAO对象应用AOP通知 20.7. XML Schema for configuration 20.8.参考资源 第二十一章. .NET企业服务 21.1.简介 21.2.服务组件 21.3.服务端 21.4.客户端 第二十二章. Web服务 22.1.服务端 22.1.1.消除对.asmx文件的依赖 22.1.2.向web服务中注入依赖项 22.1.3.将PONO发布为web服务 22.1.4.将AOP代理发布为web服务 22.1.5.客户端的问题 22.2.客户端 22.2.1.WebServiceProxyFactory 22.2.2.WebServiceClientFactory 第二十三章. Windows后台服务 23.1.备注 23.2.简介 23.3.Spring.Services.WindowsService.Process.exe应用程序 23.3.1.安装 23.3.2.配置 23.4.将应用程序上下文发布为Windows服务 23.4.1.service.config 23.4.1.1.让应用程序了解自身的位置 23.4.2.watcher.xml - 可选的配置 23.4.3.bin目录 - 可选 23.5.自定义或扩展 23.5.1. .config文件 第五部分. 与Visual Studio.NET集成 第二十四章. 与Visual Studio.NET集成 24.1.XML编辑与验证 24.2.XML Schema的版本 24.3.集成API文档 第六部分. 快速入门程序 第二十五章. IoC快速入门 25.1.简介 25.2.Movie Finder 25.2.1.开始建立MovieFinder应用程序 25.2.2.第一个对象定义 25.2.3.属性注入 25.2.4.构造器参数注入 25.2.5.总结 25.2.6.日志 25.3.应用程序上下文和IMessageSource接口 25.3.1.简介 25.4.应用程序上下文和IEventRegistry接口 25.4.1.简介 25.5.对象池示例 25.5.1.实现Spring.Pool.IPoolableObjectFactory 25.5.2.使用池中的对象 25.5.3.利用executor执行并行的grep 25.6.AOP 第二十六章. AOP指南 26.1.简介 26.2.基础知识 26.2.1.应用通知 26.2.2.使用切入点-基本概念 26.3.深入探讨 26.3.1.其它类型的通知 26.3.1.1.前置通知 26.3.1.2.后置通知 26.3.1.3.异常通知 26.3.1.4.引入(mixins) 26.3.1.5.通知链 26.3.1.6.配置通知 26.3.2.使用特性定义切入点 26.4.The Spring.NET AOP Cookbook 26.4.1.缓存 26.4.2.性能监视 26.4.3.重试规则 Spring.NET AOP最佳实践 第二十七章. .NET Remoting快速入门 27.1.简介 27.2.Remoting实例程序 27.3.实现 27.4.运行程序 27.5.Remoting Schema 27.6.参考资源 第二十八章. Web框架快速入门 28.1.简介 第二十九章. SpringAir - 参考程序 29.1.简介 29.2.架构 29.3.实现 29.3.1.业务层 29.3.2.服务层 29.3.3.Web层 29.4.总结 第三十章. 数据访问快速入门 30.1.简介 第三十一章. 事务管理快速入门 31.1.简介 31.2.应用程序概述 31.2.1.接口 第七部分. Java开发人员必读 第三十二章. Java开发人员必读 32.1.简介 32.2.Beans和Objects 32.3.PropertyEditor和TypeConverter 32.4.ResourceBundle和ResourceManager 32.5.异常 32.6.应用程序配置 32.7.AOP框架

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值