目前仅仅只是编码阶段,强烈不建议在正式生产环境中使用。
一个轻量级、快速的、模块化、插件化、可定制的软件框架。 他有以下特点:
- 框架内部自带Http服务器,支持mvc模式开发
- 框架自带仿Mybatis的ORM框架,支持注解式SQL
- 因框架内许多功能都是自实现,因此第三方依赖较传统Web框架(比如Springmvc)较少,启动速度也较快
- 应用无需部署在Weblogic、tomcat等容器,一个main方法直接启动应用
- 有较为丰富的插件扩展机制,并且框架内部默认提供较多的插件,比如日志插件、Http支持插件、Db插件、自实现Mybatis插件,且支持自定义插件。
- 支持web开发、桌面应用(Javafx)、移动端应用开发
git clone https://github.com/skjanyou/skjanyou-base.git
cd skjanyou-base
mvn clean install -DskipTests
如果你开发web应用,可以使用以下依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.db.mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.mvc</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.start</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
</dependencies>
如果你想开发桌面应用,可以额外添加javafx的依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.db.mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.mvc</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.javafx</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- javafx优秀的UI框架 -->
<dependency>
<groupId>com.jfoenix</groupId>
<artifactId>jfoenix</artifactId>
<version>8.0.9</version>
</dependency>
<dependency>
<groupId>com.skjanyou</groupId>
<artifactId>com.skjanyou.start</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
</dependencies>
移动应用待开发。
- 项目结构按参照maven规范
- skjanyou框架建议resources目录下面分为config(配置文件)、dbscript(数据库脚本)、plugin(插件配置文件)、static(静态资源文件)
Skjanyou应用启动接收start、help、stop三个参数(可扩展),启动时需要给应用配置一个skjanyou.configfile的环境变量项,用以指定全局配置文件。
以下是入口类的示例:
@Configure(
name = "Default 配置",
scanPath = "com.skjanyou.blog",
configManagerFactory = PropertiesConfig.class
)
public class SkjanyouBlogStart {
public static void main(String[] args) {
if(System.getProperty("skjanyou.configfile") == null){
System.setProperty("skjanyou.configfile", "classpath:/config/blog.properties");
};
if( args.length == 0 ) {
args = new String[] {"start"};
}
SkjanyouApplicationStart.start(SkjanyouBlogStart.class, args);
}
}
以下是配置文件的示例:
##Mvc配置
mvc.port=1235
mvc.ip=127.0.0.1
mvc.scanPath=com.skjanyou.blog
mvc.filters=[]
##关闭simplehttpserver
simplehttpserver.use=false
#数据库,这里使用sqlite
db.className=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/blog?zeroDateTimeBehavior=CONVERT_TO_NULL&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
db.user=root
db.password=123456
普通的Java工程,直接通过main函数启动即可
mvn -clean package -DskipTests
Web应用应用建议的发布应用方式有两种:
1.可以使用maven-shade-plugin插件将所有的依赖打包到一个Jar中,通过java -jar xx.jar启动
2.使用jsw插件,打包成系统服务(同时支持全平台),通过wrapper start启动
桌面应用建议的发布应用方式有: 1.可以使用maven-shade-plugin插件将所有的依赖打包到一个Jar中,通过java -jar xx.jar启动
2.使用maven-shade-plugin插件结合launch4j-plugin插件打对应平台的可执行文件(如果是exe格式,可以用压缩软件打开,建议加混淆)