用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;
}