我正在使用下面的代碼在運行時生成POJO類。我想註釋添加到這個類,是有可能Class級別添加註解生成的類或者我應該使用任何其他的解決方案,以生成類在運行時添加註解到POJO類
import java.util.Map;
import org.springframework.cglib.beans.BeanGenerator;
import org.springframework.cglib.core.NamingPolicy;
import org.springframework.cglib.core.Predicate;
/**
* @author dpoddar
*
*/
public class DynamicClassUtils {
public static Class<?> createBeanClass(
final String className,
final Map<String, Class<?>> properties){
final BeanGenerator beanGenerator = new BeanGenerator();
/* use our own hard coded class name instead of a real naming policy */
beanGenerator.setNamingPolicy(new NamingPolicy(){
@Override public String getClassName(final String prefix,
final String source, final Object key, final Predicate names){
return className;
}});
beanGenerator.setUseCache(true);
beanGenerator.setSuperclass(com.xxx.BaseDataImport.class);
BeanGenerator.addProperties(beanGenerator, properties);
return (Class<?>) beanGenerator.createClass();
}
}
我不認爲BeanGenerator有任何方法來添加註釋,可以嘗試JavaAssist。 http://ayoubelabbassi.blogspot.com/2011/01/how-to-add-annotations-at-runtime-to.html有詳細說明如何實現相同。 –