在java类中包含自动生成的方法
我有一个问题,我不确定能否回答
我在服务器上有一个php脚本,可以根据MySQL数据库中的表内容自动生成java方法。该脚本创建了一个。保存此方法的java文件
然后我下载这个方法,并将该方法复制粘贴到我的主java类中。我认为这是不必要的步骤。是否有一种方法可以将该方法包含在java类中,而不是复制和粘贴
我正在寻找写一个方法的参考。java类中应该复制和粘贴方法的点处的java文件
比如:
public class ShowAlert {
public void showAlert(String toast) throws IOException {
System.out.println("alert = "+externalMethod());
}
include(externalMethod.java);
}
然后是外部方法。java有
public String externalMethod(){
return "hello world";
}
我不确定这是否可能,但如果可能的话,那就太好了
# 1 楼答案
可以使用Smarty这样的PHP模板引擎来创建完整的java类。您的主类将是您的模板,其中包含一个用于生成方法的占位符
# 2 楼答案
Java中没有“包含文件”功能。我建议您生成以下内容:
这样称呼:
这样,手写文件和生成的文件就可以完全分开
# 3 楼答案
理想情况下,您应该将生成的代码和手动编写的代码保存在单独的文件中。这样你就不必做你正在做的事情。使用Aasmund的建议。这是正确的方法。您可能需要重新构造代码来实现这一点,但现在比以后更好
我想请你多做一点,使用接口。生成的代码应该实现一个接口,而手动代码应该仅使用该接口引用所有内容。可以有一个返回实例的工厂
这将允许您增加手动代码和生成代码的解耦。我认为,在一定程度上,如果使用DAO(数据访问对象)模式,您会做什么。如果将生成的代码分开,并使用接口访问它,DAO模式工作得最好。使用接口将允许您在运行时将DAO的实现更改为其他内容,例如运行单元测试
# 4 楼答案
您应该考虑使用像java ^ {< CD1>}(JSR 223中描述的)。例如here
还有针对Java的LUA集成