- 场景
应用于运行过程中动态加载bean,比如数据源的动态加载、定时任务的动态加载等。
- 环境
spring3.0.5
- 代码
DynamicBeanReader bean动态加载接口.
DynamicBeanReaderImpl bean动态加载实现类.
DynamicResource org.springframework.core.io.Resource的实现类.
DynamicBean 动态bean描述对象的抽象类.
DataSourceDynamicBean 继承自DynamicBean,一个数据源的简单bean配置描述对象.
spring配置
<bean id="dynamicBeanReader" class="org.youi.common.bean.DynamicBeanReaderImpl" init-method="init"> </bean>
动态加载bean接口
public interface DynamicBeanReader{
/**
* 动态加载bean
* @param dynamicBean
*/
public void loadBean(DynamicBean dynamicBean);
}
动态加载bean实现类
public class DynamicBeanReaderImpl implements DynamicBeanReader,ApplicationContextAware{
private static final Log logger = LogFactory.getLog(DynamicBeanReaderImpl.class);//日记
private ConfigurableApplicationContext applicationContext = null;
private XmlBeanDefinitionReader beanDefinitionReader;
/*初始化方法*/
public void init(){
beanDefinitionReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry)
applic