关于实战

237 阅读2分钟
  • 将代码写在接口平台上,保存起来,面向接口编程,通过脚本名,用脚本平台提供的ScriptClient获取脚本,得到接口对象,用接口接收,调用接口的方法。
SmsPullReportSupplier smsPullReportSupplier =
 ruleClient.getSpringBeanExecutor().getForInterface(scriptName);
//call method
smsPullReportSupplier.pullReport();
//接口
public interface SmsPullReportSupplier{
    List<ReportRecord> pullReport();
}
  • 脚本平台通过配置中心(Nacos,Apollo,Spring cloud config)实现无需发布上线,更改即可生效,用配置中心来实现,要的就是它可以动态监听变更的功能

  • ScriptServer保存脚本,通知ScriptClient去解析脚本,ScriptClient解析脚本,反射成对象,用一个Map装载起来,缓存对象。

  • 脚本本质就是代码,我们自己解析,反射成对象,用配置中心完成对象的变更,即重新解析脚本,反射成对象,替换旧的对象。

  • $ mvn compile -Dmaven.test.skip=true 编译代码产生target目录

  • $ mvn package -Dmaven.test.skip=true 帮我们打包成一个.jar文件

  • maven package/install/deploy都能完成项目编译、UT单元测试、打包, 但package没有把jar包部署到本地maven仓库和远程maven私服。install 部署到本地,没有部署到远程。deploy同时部署到本地和远程。

  • $ mvn dependency:tree 查看maven的依赖树,排查依赖很有效

  • java se程序可以打包成jar包,可以是别人写好的类

  • war包是可以直接运行的java web程序的打包,一个war包可以理解为一个web项目,对tomcat而言,war包放在\webapps\目录下,启动后这个包会自动解压,相当于发布了

  • war文件包括了servlet、html页面、java类等,代表了一个完整的web应用程序,开发阶段程序改动多,产品发布阶段适合使用war文件,因此此时几乎不用再做什么改动了。

  • 当一个工程下有多个module,我们用父工程的pom.xml来管理jar包版本,在子module中引用父工程的即可