Spring.net 后处理器 可用来切换实例

1.xml配置
 <!--我们在Object.xml文件上将HexuObjectPostProcessor注册到上下文对象中去-->
  <object id="hexu" type="CnblogLesson_4_7.Model.Person,HRABLL" init-method="Init" destroy-method="Destroy"/>
  <object type="CnblogLesson_4_7.HexuObjectPostProcessor,HRABLL"/>
2.代码
namespace CnblogLesson_4_7
  {
      public class HexuObjectPostProcessor : IObjectPostProcessor
      {
          public object PostProcessAfterInitialization(object instance, string objectName)
          {

            if (objectName.EndsWith("SysDictTypeDao"))
            {
                return Activator.CreateInstance(typeof(SysDictTypeDao));
            }

             Console.WriteLine("我调用了对象后处理器的 PostProcessAfterInitialization 方法,当前的对象是{0}", objectName);
             return instance;

         }

         public object PostProcessBeforeInitialization(object instance, string name)
         {
             Console.WriteLine("我调用了对象后处理器的 PostProcessBeforeInitialization 方法,当前的对象是{0}", name);
             return instance;
         }
     }

 }
时间: 2024-11-04 08:15:11

Spring.net 后处理器 可用来切换实例的相关文章

Spring Bean后处理器以及容器后处理器【转】

Bean后处理器:即当spring容器实例化Bean实例之后进行的增强处理. 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据. 一.Bean后处理器 实现了BeanPostProcessor接口的类即可作为一个Bean后处理器,以下是一个Bean后处理器的范例 1.编写一个实现了BeanPostProcessor接口的MyBeanPostProcessor类 [java] view plain copy package org.me

Spring Bean后处理器

Spring提供了两类后处理器 1.Bean后处理器 2.容器后处理器 Spring的很多功能就是通过这些后处理来提供高质量的服务.而程序员只需要简单几部同样可以自定义功能强大的后处理器,今天我们将简述Bean后处理器 一.Bean后处理器 用来加强Spring容器中的bean处理.可以在bean在spring容器中初始化前后对bean进行自定义处理. 1.自定义一个自定义一个bean后处理器:        public class MyBeanProcessor implements Bea

半夜思考之查漏补缺, Spring 的 Bean 后处理器

有一篇写的是容器后处理器, 这篇是 Bean 后处理器 , 我对这个 Bean 后处理器的理解就是一个 AOP 编程 . Bean 后处理器 : 是一种特殊的 Bean , 这种 Bean 不对外提供服务 , 可以不需要 id 属性, 主要负责对容器中的其他Bean 执行后处理 , 例如为容器中的目标 Bean 生成代理等 . Spring 容器中提供两个常用的 Bean 后处理器 : BeanNameAutoProxyCreator : 根据 Bean 实例的 name 属性 ,创建 Bean

8 -- 深入使用Spring -- 1...2 Bean后处理器的用处

8.1.2 Bean后处理器的用处 Spring提供的两个常用的后处理器: ⊙ BeanNameAutoProxyCreator : 根据Bean实例的name属性,创建Bean实例的代理. ⊙ DefaultAdvisorAutoProxyCreator : 根据提供的Advisor,对容器中的所有Bean实例创建代理. 这两个Bean后处理器都用于根据容器中配置的拦截器,创建代理Bean.

Spring笔记——10.两种后处理器

我们可以通过Bean后处理器跟容器后处理器来拓展Ioc容器.前者能增强bean的功能,后者能增强容器功能. Bean后处理器 这是一种特殊的bean,不对外提供服务,也无需id属性,只负责对其它的正常bean执行后处理,比如为容器中的bean生成代理等.它会在正常bean创建后被创建,必须实现BeanPostProcessor接口.里面的两个方法会在目标bean初始化之前之后被调用. 使用ApplicationContext作为容器的话,架构会自动扫描哪个是bean后处理器.它对每个正常bean

Spring声明式事务配置的两种策略SpringAop和Bean后处理器的代理BeanNameAutoProxyCreator

Spring的事务配置有两种:1编程式事务管理配置:2声明式事务管理配置.下面介绍两种声明式事务的配置,声明式事务相比于编程式事务代码耦合更低,无序书写任何事务管理的先关代码.两种声明式事务配置策略分别是:SpringAop事务管理和Bean后处理器的代理BeanNameAutoProxyCreator管理事务. 1.SpringAop事务管理配置 1.1.配置数据源: <bean id="pycDataSource" class="com.mchange.v2.c3p

基于Struts2 Spring ibatis Oracle10g架构 多数据源动态切换实例

一.概述 基于Spring动态配置多数据源,在大型的应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效的提高系统的水平伸缩性,而这样的解决方案就会补同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求以及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据. Spring配置多个数据源的方式和具体使用过程,Spring对于多数据源,以数据库表为参照,大体上可以分为两大类情况: 1.表级上的跨数据库,即对于不同的数据库却有不相同的表(表名和表结构完全

spring Bean的作用域、生命周期和后处理器

1. Bean的几种作用域 singleton 单例, 在整个spring IoC 容器只存在唯一对象 prototype 多例, 每次进行getBean 创建新的对象 request ,创建Bean, 放入request范围 request.setAttribute session ,创建Bean ,放入session范围 session.setAttribute globalSession 全局会话, 分布式多个系统, 共享同一个会话 单例Bean,在ApplicationContext对象

半夜思考之查漏补缺, Spring 中的容器后处理器

之前学 Spring 的时候 , 还没听过容器后处理器 , 但是一旦写出来 , 就会觉得似曾相识 . 容器配置器通常用于对 Spring 容器进行处理 , 并且总是在容器实例化任何其他 Bean 之前 , 读取配置文件中的元数据 , 并有可能修改这些数据 . Spring 提供了如下几个常用的容器后处理器 : PropertyPlaceholderConfigurer : 属性占位符配置器 PropertyOverrideConfigurer : 重写占位符配置器 CustomAutowireC