No, there is no contradiction.
, , , .. . , Class String. , (, Spring ) .
Proxy javadoc:
String className = readClassNameFromFile();
Class<?> myClass = Class.forName(className);
Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
new Class[] { myClass },
handler);