`
wm920
  • 浏览: 80976 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用BeanFactoryAware接口,用BEAN的名称来获取BEAN对象

 
阅读更多

 

用BeanFactoryAware接口,用BEAN的名称来获取BEAN对象

 

applicationContext-beans.xml
<bean id="beanFactoryHelper" class="com.cyjch.base.BeanFactoryHelper"/>
BeanFactoryHelper.java
package com.cyjch.base;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
public class BeanFactoryHelper implements BeanFactoryAware {
    private static BeanFactory beanFactory; //BEAN工厂
    @Override
    public void setBeanFactory(BeanFactory f) throws BeansException {
        this.beanFactory = f; 
    }
    public static BeanFactory getBeanfactory() {   
        return beanFactory;   
    }
}
 其它的实现类(可以继承BeanFactoryHelper并实现多个接口)
public class PeixunServiceImpl extends BeanFactoryHelper implements IPeixunService,Serializable{
    BeanFactory bf = BeanFactoryHelper.getBeanfactory();//获取工厂
    ...
    IPeixunDao peixunDAO = (PeixunDaoImpl) bf.getBean("peixunDao");//通过BEAN名称取BEAN
    IUserDao userdao = (UserDaoImpl) bf.getBean("userDao");
 
    XxxService xxxService;
    getter/setter;
    XxxDao xxxDao;
    getter/setter;
}
  
 

 

分享到:
评论

相关推荐

    Spring实现Aware接口自定义获取bean的两种方式

    Spring Aware接口自定义获取bean的两种方式 Aware接口是Spring...在使用Spring编程时,需要根据bean的名称来获取相应的bean对象,这时候,可以通过实现BeanFactoryAware和ApplicationContextAware接口来满足需求。

    获得spring里注册Bean的四种方法

    这样,我们就可以使用 getBeanFactory() 方法来获取 BeanFactory 对象,并使用它来获取指定名称的 Bean 对象。 ```java public class ServiceLocator implements BeanFactoryAware { private static BeanFactory ...

    Spring中与Bean相关的接口

    最后,`AutowireCandidateResolver`和`BeanFactoryAware`接口分别提供了候选Bean的判断逻辑和BeanFactory的获取方式,这些在特定场景下能帮助我们实现更复杂的Bean管理。 综上所述,Spring中的Bean接口和注解为...

    几种spring获取bean的方法.txt

    一旦获取到了`ApplicationContext`,就可以调用其`getBean()`方法来获取特定名称的Bean实例。 **示例代码:** ```java import org.springframework.web.context.WebApplicationContext; import org.spring...

    spring运行过程中动态注册bean

    `BeanFactoryAware`接口使得Bean可以被注入`BeanFactory`,而`ApplicationListener`接口则可以让Bean监听到应用上下文的刷新事件,从而在合适的时机执行动态注册逻辑。 ```java public class BeanFactoryAwareBean ...

    Spring中关于Bean的管理的课件

    接口注入是通过让类实现特定的接口来获取依赖;构造注入是在类的构造函数中注入依赖;属性注入则是通过setter方法来设置依赖。 3. **Spring的7大模块**:Spring由多个模块组成,包括Core Container(核心容器)、...

    Spring各种回调接口[定义].pdf

    BeanFactory通过`setBeanFactory(BeanFactory beanFactory)`方法传递自身,使得Bean可以直接使用BeanFactory来获取依赖。然而,这种做法增加了Bean与Spring容器的耦合。 7. **BeanNameAware**:最后,BeanNameAware...

    Spring bean 管理

    - 使用静态工厂方法实例化:这种方式通过调用一个静态方法来获取Bean实例,适用于简单工厂模式。 - 使用实例工厂方法实例化:类似于静态工厂方法,但工厂方法是非静态的,需要先创建工厂类的实例后再调用。 - ...

    Spring Bean生命周期.pdf

    这些接口允许Bean获取容器的相关信息,如Bean的名称、类加载器、Bean工厂等。 - InitializingBean:对应初始化阶段,它提供了afterPropertiesSet方法供开发者实现Bean初始化逻辑。 - DisposableBean:对应销毁阶段...

    Spring Bean生命周期&BeanDefinitions1

    3. **Bean接口回调**:如果Bean实现了特定的接口,如`BeanNameAware`、`BeanFactoryAware`或`ApplicationContextAware`,Spring会在适当的时候调用对应的回调方法。这些接口允许Bean获取其ID、BeanFactory引用或...

    基于java的企业级应用开发:Bean的生命周期.ppt

    - 如果Bean实现了特定的Spring接口,如`BeanNameAware`,`BeanFactoryAware`,`ApplicationContextAware`,Spring会在适当的时间调用相应的方法。 - `BeanNameAware`的`setBeanName()`方法用于将Bean的ID传递给...

    Spring Bean 的生命周期.docx

    2. BeanFactoryAware:在`setBeanName`之后,Spring会调用`setBeanFactory`方法,将BeanFactory对象注入到Bean中,使Bean能够访问容器。 3. InitializingBean:这个接口提供了一个`afterPropertiesSet`方法,在所有...

    Spring.pdf

    容器本身也具备了极高的扩展性,开发者可以通过实现BeanPostProcessor接口来扩展Bean的生命周期。例如,可以在Bean初始化前后进行自定义的处理逻辑,这为开发者提供了很大的灵活性。 DefaultListableBeanFactory和...

    Spring特性——Aware感知特性

    BeanFactoryAware接口提供了一个方法`setBeanFactory(BeanFactory beanFactory)`,允许bean获取到当前的BeanFactory实例。这样,bean就能在运行时动态地查找和依赖其他bean,或者利用BeanFactory提供的功能,如工厂...

    Spring源码学习八:常用的扩展接口详解1

    实现这个接口的类能够在Bean加载过程中获取到Spring应用上下文`ApplicationContext`,从而可以访问容器中的其他Bean和服务,如读取配置信息、发布事件等。 4. **BeanFactoryAware接口**: `BeanFactoryAware`接口...

    Spring 框架中注入或替换方法实现

    为了解决上述问题,我们可以让 singleton Bean 实现 BeanFactoryAware 接口,从而能够访问容器,然后使用容器来获取 prototype Bean 的实例。例如,我们可以在 Book 类中实现 BeanFactoryAware 接口,并在 ...

    Spring中Bean的生命周期使用解析

    在这个阶段,Spring容器会使用反射机制来实例化Bean,创建一个新的Bean对象。 3. Bean属性注入:Bean实例化完成后,利用反射技术实现属性及依赖Bean的注入。 在这个阶段,Spring容器会将Bean的属性值和依赖Bean...

    SPRING中文开发参考手册

    - **ApplicationContextAware**:Bean 可以通过实现此接口来获取 ApplicationContext。 - **BeanPostProcessor**、**BeanFactoryPostProcessor**:同上。 - **PropertyPlaceholderConfigurer**:同上。 #### 四、...

    深入理解Spring中bean的生命周期介绍

    通过这两个接口,我们可以获取当前bean的名称和工厂。 ``` public class Person implements BeanNameAware, BeanFactoryAware { private String name; public Person(){ System.out.println("调用构造器为属性值...

    spring其他标签

    - **BeanFactoryAware**:该接口的`setBeanFactory`方法会被Spring容器回调,将当前的`BeanFactory`实例传递给bean,便于bean访问容器内的其他bean。 - **ApplicationContextAware**:此接口的`...

Global site tag (gtag.js) - Google Analytics