You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
3.1 KiB

package com.dsideal;
import Plugin.LogBackLogFactory;
import com.dsideal.sso.Controller.AppLoginController;
import com.dsideal.sso.Controller.IndexController;
import com.dsideal.sso.Interceptor.EmptyInterceptor;
import com.jfinal.config.*;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect;
import com.jfinal.plugin.hikaricp.HikariCpPlugin;
import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
import com.dsideal.sso.Controller.CommomController;
import com.dsideal.sso.Controller.WebLoginController;
import com.dsideal.sso.Util.CommonUtil;
import java.io.File;
public class Start extends JFinalConfig {
public static void main(String[] args) {
UndertowServer.create(Start.class, "undertow.properties").start();
}
//在jfinal启动完成后马上执行
public void onStart() {
//打印 启动Logo
String path = Start.class.getClassLoader().getResource("dsideal.txt").getPath();
File file = new File(path);
System.out.println(CommonUtil.txt2String(file));
}
/**
* 配置常量
*/
public void configConstant(Constants me) {
//配置日志框架logback
me.setLogFactory(new LogBackLogFactory());
PropKit.use("application.properties");
}
/**
* 配置路由
*/
public void configRoute(Routes me) {
me.add("/", IndexController.class);
me.add("/web", WebLoginController.class);
me.add("/common", CommomController.class);
me.add("/app", AppLoginController.class);
}
public void configEngine(Engine me) {
}
/**
* 配置插件
*/
public void configPlugin(Plugins me) {
HikariCpPlugin hp = new HikariCpPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"),
PropKit.get("password").trim(), PropKit.get("driverClassName"));
me.add(hp);
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(hp);
arp.setDialect(new PostgreSqlDialect());
String basePath = Start.class.getClassLoader().getResource(".").getPath();
File sqlDir = new File(basePath + "/Sql");
File[] sqlFiles = sqlDir.listFiles();
if (sqlFiles != null) {
for (File sqlFile : sqlFiles) {
//只加载.sql文件
if (sqlFile.getName().indexOf(".sql") > 0) {
arp.addSqlTemplate("/Sql/" + sqlFile.getName());
}
}
}
//加载
me.add(arp);
RedisPlugin redis = new RedisPlugin("Redis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10000);
me.add(redis);
}
/**
* 配置全局拦截器
*/
public void configInterceptor(Interceptors me) {
//注册非空拦截器
me.add(new EmptyInterceptor());
}
/**
* 配置处理器
*/
public void configHandler(Handlers me) {
}
}