不可见类有抽象父类,spring配置子类bean,注入父类,aop就可以切父类的方法

public class TestBeanChild {
    int b = 1;

    public TestBean createDefault() {
        return new TestBeanDefault();
    }
}
class TestBeanDefault extends TestBean{
     int  b=2;
}

包外面不能访问类TestBeanDefault

public abstract class TestBean {
    private int a =0;
 public void doBean(){
     System.out.println("1321");
 }
}
<bean id="a" class="com.yundaex.wms.config.TestBeanChild"  />
     <bean id="b" class="com.yundaex.wms.config.TestBeanChild" factory-bean="a"  factory-method="createDefault" />

   <aop:config proxy-target-class="true">
          <aop:aspect ref="ifmAspect">
             <aop:pointcut id="ifmAspectPointcut"
                expression="execution( * com.yundaex.wms.config.TestBean.*(..))
                    "/>
             <aop:around method="aroundMethod"  pointcut-ref="ifmAspectPointcut"/>
          </aop:aspect>
    </aop:config>
@Autowired
private TestBean dd;

dd为父类实例其实是子类的cglib的代理对象

时间: 2024-11-08 20:58:31

不可见类有抽象父类,spring配置子类bean,注入父类,aop就可以切父类的方法的相关文章

Spring学习笔记6---bean配置和bean注入

1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用. 1 bean配置 bean配置有三种方法: 基于xml配置Bean 使用注解定义Bean 基于java类提供Bean定义信息 1.1 基于xml配置Bean 对于基于XML的配置,S

spring中bean配置和bean注入

1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用. 1 bean配置 bean配置有三种方法: 基于xml配置Bean 使用注解定义Bean 基于java类提供Bean定义信息 1.1 基于xml配置Bean 1.2 使用注解定义Be

JavaEE开发之Spring中的依赖注入与AOP编程

一.快速创建Mava管理的Spring工程 因为本篇博客是讨论关于Spring的东西,所以我们就不创建WebApp的工程了.我们使用Spring来快速的创建一个Maven管理的工程.如下所示找到File->New->Maven Project选项来创建一个新的Maven Project,具体如下所示: 下方我们选择创建一个简单的Maven工程,跳过模板的选择.上篇博客我们在创建Maven工程时,是没有选择下方这个选项的,然后我们选择了一个WebApp的模板.而本篇博客,我们不需要WebApp的

Spring配置中 bean上的属性parent的作用

省去多余的父类配置,比如 事务管理: <bean id="basicTxProxy2" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactionManager2

Spring 配置中 bean 的 class 使用工厂 Bean 的含义解析

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. <bean id="studentMapper" class="org.mybatis.spring.Mapp

spring mvc和spring配置扫描包问题

spring mvc和spring俩配置文件,其中都要配置扫描包. <context:component-scan base-package="com.controller" /> <context:component-scan base-package="com.service;com.dao" /> 理解很简单啦 spring负责扫描整个程序的bean,包括service/repository等bean.所以spring要扫描servic

子类继承父类的配置

修改前: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.or

quartz spring 配置定时触发

1 <bean id="kintaiAdditionalCreating" class="com.kng.timevalue.kintaiAdditional.KintaiAdditionalCreating" /> 2 第一行是<!-- 要调用的工作类 --> 第3-11行<!-- 指定任务Bean的实现类 --><!-- 为任务Bean注入属性 -->  3 <bean name="kintaiJo

Spring 实现自定义 bean 的扩展

Spring mvc 提供了扩展 xml 的机制,用来编写自定义的 xml bean ,例如 dubbo 框架,就利用这个机制实现了好多的 dubbo bean,比如 <dubbo:application> .<dubbo:registry> 等等,只要安装这个标准的扩展方式实现配置即可. 扩展自定义 bean 的意义何在 假设我们要使用一个开源框架或者一套 API,我们肯定希望以下两点: 易用性,即配置简单,要配置的地方越少越好 封装性,调用简单,也就是越高层封装越好,少暴露底层