Java 如何在数据库中保存类方法?
是否可以读取java类的所有方法并将它们的名称保存在数据库中Java 如何在数据库中保存类方法?,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,是否可以读取java类的所有方法并将它们的名称保存在数据库中 @Entity public class Action { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; public Action() { } public String methodA() { return "methodA"; } public Stri
@Entity
public class Action {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
public Action() {
}
public String methodA() {
return "methodA";
}
public String methodB() {
return "methodB";
}
}
使用Java反射:
Method[] methods = Action.class.getDeclaredMethods();
for (int i = 0; i < methods.length; i++) {
saveToDB(methods[i].toString());
}
Method[]methods=Action.class.getDeclaredMethods();
for(int i=0;i
您可以使用java.lang.Class.getDeclaredMethods()
方法,该方法返回method
对象数组,包括public、protected、default(package)access和private方法,但不包括继承的方法
Action cls = new Action ();
Class c = cls.getClass();
Method[] methods = c.getDeclaredMethods();
for(int i = 0; i < methods.length; i++) {
System.out.println(methods[i].toString());
}
您将获得以下输出:
方法a方法b
您还可以使用javassist在运行时获取所有方法。 即使你不知道班级结构
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("class Name");
CtMethod[] methods=cc.getDeclaredMethods();
for(CtMethod method:methods){
System.out.println(method.toString());
}
您是否在询问是否可以在数据库中保存Java方法以供将来使用that@medi您是否尝试了我下面的答案?为什么要这样做?Oracle提供了一个关于使用Java反射的有用链接:
ClassPool pool = ClassPool.getDefault();
CtClass cc = pool.get("class Name");
CtMethod[] methods=cc.getDeclaredMethods();
for(CtMethod method:methods){
System.out.println(method.toString());
}