我正在使用下面的代码在运行时生成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有详细说明如何实现相同。 –