当前位置 : 主页 > 编程语言 > c++ >

ssm 框架 dao层动态加载

来源:互联网 收集:自由互联 发布时间:2021-06-30
让MapperScannerConfigurer程序重新扫描指定的目录,并加载到Spring容器中 public class SpringDynamicLoad {/** * spring-mybatis mapper动态加载 * @param app Spring初始化时创建的容器 * @param basePackage 需要重新
让MapperScannerConfigurer程序重新扫描指定的目录,并加载到Spring容器中
public class SpringDynamicLoad {
	
	/**
	 * spring-mybatis mapper动态加载
	 * @param app Spring初始化时创建的容器
	 * @param basePackage  需要重新扫描的包
	 * @author lxycx-xc
	 * 创建时间:2017年9月29日
	 *
	 */
	public static void mybatisMapper(ApplicationContext app,String basePackage){
		BeanFactory beanFactory = app.getAutowireCapableBeanFactory();
		
		BeanDefinitionRegistryPostProcessor pp = app.getBean("org.mybatis.spring.mapper.MapperScannerConfigurer#0", BeanDefinitionRegistryPostProcessor.class);
		MapperScannerConfigurer mapper = (MapperScannerConfigurer) pp;
		
		mapper.setApplicationContext(app);
		mapper.setAddToConfig(true);
		mapper.setBasePackage(basePackage);
		
		BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory;
		mapper.postProcessBeanDefinitionRegistry(registry);
	}
	
}
网友评论