ASM能做什么
我们都知道,一般情况下,Class文件是通过javac编译器产生的,然后通过类加载器加载到虚拟机内,再通过执行引擎去执行。现在我们可以通过ASM的API直接生成符合Java虚拟机规范的Class字节流,这样,ASM做的事情一定程度上正是javac解释器做的工作。
可以说ASM分析一个类、从字节码角度创建一个类、修改一个已经被编译过的类文件。
那么,我们就可以通过ASM来实现诸如代码生成,代码混淆,代码转换等等以字节码为操作目标的工作
主要是操作PO字节dng码的,在开发中java很少使用一个框架,当spring , hibernate整合时,他们两者都有asm.jar包,这是就是删除spring下的asm.jar包。
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。JAVA的CLASS文件通常是树型结构。
然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。
目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。