String classLoaderName = globalSettings.getClassLoaderName();
String proxyResolverName = globalSettings.getProxyResolverName();
DefaultClassLoader defaultClassLoader = new DefaultClassLoader();
BeanContainer beanContainer = BeanContainer.getInstance();
Class<? extends DozerClassLoader> classLoaderType = loadBeanType(classLoaderName, defaultClassLoader, DozerClassLoader.class);
Class<? extends DozerProxyResolver> proxyResolverType = loadBeanType(proxyResolverName, defaultClassLoader, DozerProxyResolver.class);
DozerClassLoader classLoaderBean = ReflectionUtils.newInstance(classLoaderType);
DozerProxyResolver proxyResolverBean = ReflectionUtils.newInstance(proxyResolverType);
beanContainer.setClassLoader(classLoaderBean);
beanContainer.setProxyResolver(proxyResolverBean);
if (globalSettings.isElEnabled()) {
ELEngine engine = new ELEngine();
engine.init();
beanContainer.setElEngine(engine);
beanContainer.setElementReader(new ExpressionElementReader(engine));
}
}