AppConfig.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package common.jfinal;
  2. import com.jfinal.config.*;
  3. import com.jfinal.kit.Prop;
  4. import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
  5. import com.jfinal.plugin.druid.DruidPlugin;
  6. import com.jfinal.server.undertow.UndertowServer;
  7. import com.jfinal.template.Engine;
  8. import common.interceptor.ExceptionInterceptor;
  9. import common.interceptor.empty.EmptyInterceptor;
  10. import common.model._MappingKit;
  11. import common.utils.config.MyPropKit;
  12. import modules.address.AddressController;
  13. import modules.address.factory.FactoryController;
  14. import modules.address.lp.bal.BalLpController;
  15. import modules.address.lp.v2.V2LpController;
  16. import modules.address.lp.v3.V3LpController;
  17. import modules.address.token.TokenController;
  18. import modules.chain.ChainController;
  19. import modules.hello.HelloController;
  20. import modules.tx.TxController;
  21. import modules.tx.history.HistoryController;
  22. import modules.tx.pending.PendingController;
  23. public class AppConfig extends JFinalConfig {
  24. static Prop p;
  25. public static void main(String[] args) {
  26. UndertowServer.start(AppConfig.class, 8888, true);
  27. }
  28. static void loadConfig() {
  29. if (p == null) {
  30. p = MyPropKit.useFirstFound("/webapp/backend/evi-blockchain.properties", "./evi-dev.properties");
  31. }
  32. }
  33. public static DruidPlugin getDruidPlugin() {
  34. loadConfig();
  35. return new DruidPlugin(p.get("dbUrl"), p.get("dbUser"), p.get("dbPwd"));
  36. }
  37. @Override
  38. public void configConstant(Constants constants) {
  39. loadConfig();
  40. constants.setDevMode(p.getBoolean("devMode", false));
  41. constants.setInjectDependency(true);
  42. }
  43. @Override
  44. public void configRoute(Routes routes) {
  45. routes.add("/", HelloController.class);
  46. routes.add("/chain", ChainController.class);
  47. routes.add("/address", AddressController.class);
  48. routes.add("/factory", FactoryController.class);
  49. routes.add("/token", TokenController.class);
  50. routes.add("/v2-lp", V2LpController.class);
  51. routes.add("/v3-lp", V3LpController.class);
  52. routes.add("/bal-lp", BalLpController.class);
  53. routes.add("/tx", TxController.class);
  54. routes.add("/pending", PendingController.class);
  55. routes.add("/history", HistoryController.class);
  56. }
  57. @Override
  58. public void configEngine(Engine engine) {}
  59. @Override
  60. public void configPlugin(Plugins plugins) {
  61. DruidPlugin dp = getDruidPlugin();
  62. plugins.add(dp);
  63. ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
  64. // 是否打印SQL
  65. arp.setShowSql(p.getBoolean("devMode", false));
  66. // 加载sql模板
  67. arp.addSqlTemplate("/common/all.sqlt");
  68. // 映射实体
  69. _MappingKit.mapping(arp);
  70. plugins.add(arp);
  71. }
  72. @Override
  73. public void configInterceptor(Interceptors me) {
  74. // 配置全局异常拦截器
  75. me.addGlobalActionInterceptor(new ExceptionInterceptor());
  76. // 配置全局参数拦截校验器
  77. me.addGlobalActionInterceptor(new EmptyInterceptor());
  78. }
  79. @Override
  80. public void configHandler(Handlers handlers) {
  81. }
  82. }