
io.gallery.db.util.DataBaseServiceLoader Maven / Gradle / Ivy
package io.gallery.db.util;
import io.gallery.db.service.IDataBaseGenericService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.Optional;
@Component
public class DataBaseServiceLoader implements ApplicationContextAware {
private static Map dataBaseGenericCtrs;
private static Map iDataBaseGenericServices;
private final Log logger = LogFactory.getLog(getClass());
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
dataBaseGenericCtrs = applicationContext.getBeansOfType(DataBaseGenericCtr.class);
iDataBaseGenericServices = applicationContext.getBeansOfType(IDataBaseGenericService.class);
Optional.ofNullable(dataBaseGenericCtrs).ifPresent(ctrs -> logger.debug("DataBaseGenericCtr's subClass: " + ctrs.size()));
Optional.ofNullable(iDataBaseGenericServices).ifPresent(services -> logger.debug("IDataBaseGenericService's implementation class: " + services.size()));
}
/**
* 获取Ctr子类
*
* @return Map
*/
public static Map getDataBaseGenericCtrs() {
return dataBaseGenericCtrs;
}
/**
* 获取IDataBaseGenericService实现类
*
* @return Map
*/
public static Map getIDataBaseGenericServices() {
return iDataBaseGenericServices;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy