当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

SoJpt Boot

Spring Boot 下使用 Jfinal 特性
授权协议 Apache 2.0
开发语言 Java
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 锺离慈
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

 

SoJpt Boot

介绍

sojpt-logo

    在Spring Boot框架下使用Jfinal特性极速开发 了解更多:www.sojpt.com

    在Spring Boot框架下使用Jfinal特性极速开发,可以在Spring Boot中向使用Jfinal一样使用Enjoy、Aop、Controller等一系列方法(如: getFile(), renderFile....),以及ActiveRecord

软件架构

基于 JFinal 与 Spring Boot制作, 实现Spring Boot与Jfinal的混合双打,使Spring Boot下的开发者能够体验Jfinal的极速开发特性,有更多的时间去配恋人或家人。

安装教程

  1. 在Spring Boot 2.0以上项目中 加入maven坐标
    <dependency>
      <groupId>com.gitee.sohnny</groupId>
      <artifactId>sojpt-boot-spring-boot-starter</artifactId>
      <version>2.5.6-3.8</version>
    </dependency>
  1. 添加 SoJptBootConfig 配置类
package com.sojpt.boot;

import java.sql.Connection;
import javax.servlet.ServletException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.wall.WallFilter;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.Plugins;
import com.jfinal.core.JFinal;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.template.Engine;
import com.jfinal.template.ext.spring.JFinalViewResolver;
import com.jfinal.template.source.ClassPathSourceFactory;
import com.sojpt.model._MappingKit;

@Configuration(value = "SoJptBootConfig")
public class SoJptBootConfig extends SoJptConfig {

	@Autowired
	private ActiveRecordPluginProperties arpProperties;

	/**
	 * 配置JFinal常量
	 */
	@Override
	public void configConstant(Constants me) {

		// 设置当前是否为开发模式
		me.setDevMode(arpProperties.getIsDevMode());
		// me.setError404View("/index.html");
	}

	/**
	 * 配置JFinal插件 数据库连接池 ORM 缓存等插件 自定义插件
	 */
	@Override
	public void configPlugin(Plugins me) {

		DruidPlugin dp = new DruidPlugin(arpProperties.getJdbcUrl(), arpProperties.getUsername(), arpProperties.getPassword());

		dp.addFilter(new StatFilter());
		dp.setDriverClass("com.mysql.cj.jdbc.Driver");
		WallFilter wall = new WallFilter();
		dp.addFilter(wall);
		me.add(dp);

		ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
		arp.setTransactionLevel(Connection.TRANSACTION_READ_COMMITTED);
		arp.setShowSql(arpProperties.getIsDevMode());
		arp.setDialect(new MysqlDialect());

		// ******** 在此添加dao层sql文件 *********//*
		//arp.addSqlTemplate("sql/all_sqls.sql");

		_MappingKit.mapping(arp);

		// 初始化任务调度插件,参数为配置文件名
		// me.add(new Cron4jPlugin(sysProp));

		me.add(arp);
	}

	/**
	 * 配置全局拦截器
	 */
	@Override
	public void configInterceptor(Interceptors me) {
		// me.addGlobalActionInterceptor(new DuplicateLoginInterceptor());
	}

	/**
	 * 配置全局处理器
	 */
	@Override
	public void configHandler(Handlers me) {
		// druid 统计页面功能
		//me.add(DruidKit.getDruidStatViewHandler());
		//me.add(new JavaMelodyHandler("/monitoring.*", true));
	}

	@Override
	public void beforeJFinalStop() {
	}

	/**
	 * 
	 * 配置模板引擎
	 */
	@Override
	public void configEngine(Engine me) {
		// 这里只有选择JFinal TPL的时候才用
		me.addSharedObject("RESOURCE_HOST", JFinal.me().getContextPath());
		me.addSharedObject("WEB_HOST", JFinal.me().getContextPath());
		// 配置共享函数模板
		// me.addSharedFunction("/view/common/layout.html")
	}

	@Override
	public void afterJFinalStart() {
		System.err.println("SoJpt Boot 启动成功!");
	}

}
  1. 在 application.properties 配置文件中添加如下
arp.jdbc-url = jdbc:mysql://127.0.0.1/sojpt?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
arp.username = root
arp.password = 123456
arp.is-dev-mode= true
  1. 在spring启动类中添加注解 @ComponentScan("com.sojpt"), 如下:
@ComponentScan("com.sojpt") //添加你定义的SoJptBootConfig类所在的包名称
@SpringBootApplication
public class SoJptSpringbootApplication {

	public static void main(String[] args) {
		SpringApplication.run(SoJptSpringbootApplication.class, args);
	}

}

使用说明

  1. 案例一 返回json
@RestController
public class HelloController extends Controller { //不继承Controller,就是原生的Spring Boot,Jfinal的Aop也就不能用

    @Before(Tx.class) //事务的用法
    @RequestMapping("/list/jfinal")
    public void index() {
		System.out.println(getPara("id")); //获取参数示例
        SqlPara sqlPara = Db.getSqlPara("admin_log.select");
        Page<Record> page = Db.paginate(1, 10, sqlPara);
        renderJson(page);
    }
    
}
  1. 案例二 文件下载
@RestController
public class HelloPageController extends Controller {
    
    @Clear
    @RequestMapping("/file")
    public void index() {
		
		setAttr("msg", "123123");
		renderFile(new File("d://test.txt"));
    }
    
}
  1. 案例三 返回页面
@Controller
public class HelloPageController extends Controller {

    @Before(LoginInterceptor.class)
    @RequestMapping("/page/jfinal")
    public void index() {
		
		setAttr("msg", "123123");

		render("/view/index.html") //放在resources目录下
    }
    
}

参与贡献

www.sojpt.com

 捐赠 

 

  • SoJpt Boot 介绍 官方网站: www.sojpt.com 在Spring Boot框架下使用Jfinal特性极速开发 可以在Spring Boot中向使用Jfinal一样使用Enjoy, Aop, controller的一系列方法(如: getFile(), renderFile....),以及ActiveRecord, 只有Jfinal的路由被去掉,其他Jfinal特性可以原生使用 S

  • SoJpt Boot 介绍 在Spring Boot框架下使用Jfinal特性极速开发 可以在Spring Boot中向使用Jfinal一样使用Enjoy, controller的一系列方法(如: getFile(), renderFile....),以及ActiveRecord 软件架构 基于 Spring Boot 2.2.0.M1 制作 安装教程 在Spring Boot 2.0以上项目中

  • SoJpt-Boot-2.5.3-3.8 changelog 1、解决spring cloud 环境下报 UT010005: Cannot call getOutputStream(), getWriter() 2、加入路径容错 3、修复上传文件报异常的bug 4、JsonRender.exclude方法优化renderJson报异常解决方案 官网地址:www.sojpt.com 转载于:http

  • DSP的boot一般没有特别的名字,就叫做boot或者bootloader;Linux的boot就不一样,有专门的名字叫做u-boot。其实,从名字开始说我是有目的的,这类似于中国古时候,最开始是妇女没有名字,然后是不读书的人只能有名而没有字;因此,有没有名字需要归结在“社会地位”高不高的因素中。从这个方面来看,DSP的boot就地位不高,属于贫贱阶级,Linux的boot(以下简称u-boot)

  •              Spring boot设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置     用spring的方法来构建RESTful Web服务,HTTP请求是由controller处理,这些组件可以由@ restcontroller注解       @RestController public class GreetingControll

  • 摘编: BSP 是 Board support package, 板极支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的 运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写

  • Spring Boot 入门 spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。 Spring Boot具有如下特性: 为基于Spring的开发提供

  • Spring boot 简介   Spring boot是spring 家族中的一个全新的框架,它用来简化Spring应用程序的创建与开发过程,是对SSM(Spring+Spring MVC+MyBatis)框架开发的简化。在使用SSM框架开发的过程中,搭建和整合三大框架我们需要做很多工作,需要配置web.xml,配置Spring,配置MyBatis,并将它们整合在一起,Spring boot框架

  • 原文地址:学习 Spring学习 Spring Boot 知识看这一篇就够了_微笑很纯洁的博客-CSDN博客_学完springboot学习 Spring 从2016年因为工作原因开始研究 Spring Boot ,先后写了很多关于 Spring Boot 的文章,发表在技术社区、我的博客和我的公号内。粗略的统计了一下总共的文章加起来大概有六十多篇了,其中一部分是在技术社区做的系列课程。 我在写文章

  • 针对不同的Kernel image格式,u-boot提供了不同的boot指令,例如: booti: 引导ARM64 kernel image—-Image; bootz: 引导ARM kernel image—-zImage; bootm: 引导u-boot自定义的kernel image—-uImage。 参考资料 http://www.wowotech.net/x_project/bubble

  •     Spring Boot参考指南 快速创建一个Sping boot项目 Maven仓库依赖

 相关资料
  • 1、指定打包为类型为 jar 修改 pom.xml 文件,其中的 packaging 标签值要改成 jar <packaging>jar</packaging> 强烈建议:强烈建议下载首页的 jfinal_demo_for_maven.zip,从中可以获取到本章所涉及的 pom.xml、package.xml、jfinal.sh 等配置文件与脚本文件。可以节省大量的学习成本。 2、添加 maven

  • 1、创建标准的 maven 项目 eclipse 主菜单选择 new,再选择 project 在弹出的窗口中选择 Maven Project,点击 next 按钮进入下一步 在接下来的窗口中勾选 Use default Wrokspace location 点击 next 进入下一步 在接下来的窗口中的 Filter 栏输入 "webapp",选择 org.apache.maven.archety

  •     JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :) JFinal有如下主要特点: MVC 架构,设计精

  • spring-jfinal 用于整合 spring 和 jfinal。 依赖 jar jfinal、javassist v3.*、Spring v3+(3.2.0之前需要依赖cglib) 使用Maven <dependency> <groupId>cc.ecore</groupId> <artifactId>spring-jfinal-plugin</artifactI

  • dreampie-jfinal 使用JFinal框架,并提供akka异步执行集成,多数据源自动orm映射,flyway数据库脚本升级,shiro+权限系统+freemarker支持,以及其他改进 bootstrap前端 该项目剥离出的框架jfinal-dreampie,大家可以看新demo:jfinal+angular(icedog) 新增前端:requireJs+backbone+coffees

  • 为JFinal提供的插件,让JFinal应用程序轻松使用Rythm模版引擎。使用方法: 1. 加入发布包中的jar文件到你的JFinal应用程序lib目录 2. 配置插件: private Properties conf = null;public void configConstant(Constants me) { this.conf = loadPropertyFile("path/t

  • jfinal demo  程序,使用bootstrap+本人编写的多款插件,如使用coffeescript-maven-plugin编译coffeescript代码,使用lesscsss-maven-plugin编译lesscss代码,使用flyway-maven-plugin运行数据库脚本,支持多种定制功能。 运行指南: 1.在mysql里创建数据库jfinal_demo,运行maven插件 c

  • Paladin是啥? 它是一个以JFinal为底层的java基础后台框架。 结合了以下第三方组件: Beetl、Druid、Shiro、Ehcache(JFinal自带工具类)。 界面使用的拼图的后台模板,自己做了些优化和更改。 最初目的:为了学习jfinal,通过一点点的摸索,把它建立起来了。 最终理想:形成一个工作中比较通用的基础后台框架。 适用人群 刚入门JFinal的同学,可以拿过去做个参