在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的极速开发特性,有更多的时间去配恋人或家人。
<dependency> <groupId>com.gitee.sohnny</groupId> <artifactId>sojpt-boot-spring-boot-starter</artifactId> <version>2.5.6-3.8</version> </dependency>
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 启动成功!"); } }
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
@ComponentScan("com.sojpt") //添加你定义的SoJptBootConfig类所在的包名称 @SpringBootApplication public class SoJptSpringbootApplication { public static void main(String[] args) { SpringApplication.run(SoJptSpringbootApplication.class, args); } }
@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); } }
@RestController public class HelloPageController extends Controller { @Clear @RequestMapping("/file") public void index() { setAttr("msg", "123123"); renderFile(new File("d://test.txt")); } }
@Controller public class HelloPageController extends Controller { @Before(LoginInterceptor.class) @RequestMapping("/page/jfinal") public void index() { setAttr("msg", "123123"); render("/view/index.html") //放在resources目录下 } }
捐赠
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的同学,可以拿过去做个参