我用java asm框架动态创建class 但是没有看到设置package的方法,网上的例子都是放在默认包里,请高手指教

解决方案 »

  1.   

    有带包的动态创建class与没带包的动态创建class区别?
      

  2.   

    用javassist就简单多了另外,如ls所问
      

  3.   

    Javassist是一个执行字节码操作的强而有力的驱动代码库。它允许开发者自由的在一个已经编译好的类中添加新的方法,或者是修改已有的方法。但是, 和其他的类似库不同的是,Javassist并不要求开发者对字节码方面具有多么深入的了解,同样的,它也允许开发者忽略被修改的类本身的细节和结构。
    字 节码驱动通常被用来执行对于已经编译好的类的修改,或者由程序自动创建执行类等等等等相关方面的操作。这就要求字节码引擎具备无论是在运行时或是编译时都 能修改程序的能力。当下有些技术便是使用字节码来强化已经存在的Java类的,也有的则是使用它来使用或者产生一些由系统在运行时动态创建的类。举例而 言,JDO1.0规范就使用了字节码技术对数据库中的表进行处理和预编译,并进而包装成Java类。特别是在面向对象驱动的系统开发中,相当多的框架体系 使用字节码以使我们更好的获得程序的范型性和动态性。而某些EJB容器,比如JBOSS项目,则通过在运行中动态的创建和加载EJB,从而戏剧性的缩短了 部署EJB的周期。这项技术是如此的引人入胜,以至于在JDK中也有了标准的java.lang.reflect.Proxy类来执行相关的操作。这是网上说的,我要做的 是根据配置的sql语句  例如 select name as name,age as age from user as user 动态创建 javaBean, 
    例如public class User{
        private String name;
        private String age;    public void setName(String name){
            this.name=name;
        }
        public void getName(){
            return this.name;
        }
        public void setAge(String name){
            this.age=age;
        }
        public void getAge(){
            return this.Age;
        }
    }然后自己做标签 做出一个增删改查,加搜索的模板来,如果这样配置个sql就可以了,然后jsp页面也是动态生成的。我在系统里有个配置sql的页面,提交一条sql配置相应的 jsp名称和路径 就可以访问这个sql对应的 信息表格了,之前我用asm动态创建class(强调一下::::是创建不是动态修改),但是创建的class被放到工程下默认包下面,我想指定包路径,但是没有找到相应设置的地方。也许你会说有很多开源可以用,但是目前开源往往是提供一个整体的解决方案,我希望是插件形式的,在已有项目中不需要做较大改动,导入n个jar就可以用的插件,我想做的东西只是处理开发过程中的一个环节,一个螺丝钉。。