Make things more easier
Built on top of SpringMVC, enhance it to make it more SpringBoot-like. With lots of samll-size components, it's very easy to use. A framework is a way to implement the Architecture, so this is a super lightweight architecture.
- The usage is the same as SpringBoot, it embeds Tomcat with optimized the startup time, and tiny JAR outputs to depoly.
- Maximize the reuse of existing components, instead of introducing third-party components. Here are:
- Utilities from Spring built-in, lots util functions re-used.
- SLF4J + JUL Log Component, also ELK logging output.
- Reuse the built-in components, like file upload by Servlet 3.0, Tomcat JDBC connection pool.
- A clean Controller-Service model powered by newly Spring MVC, the Java Interface as Controller, a service class just implements that Controller.
- A simple bean data validtion, like Hibernate Validator.
- Providing CRUD functions like Spring JDBCTemplate, making it easy to get data from a SQL database to a Java bean or just a Map/List. Based on it, providing XML-managed SQL like MyBatis. We strongly recommend to write the native SQL for the most business logic as classic way.
- Providing an SSO/UserManagement implementation using OAuth/OIDC/JWT. Role-management is in development.
- Providing a lightweight workflow engine. More features are in development.
- Integrating more low-code development tools, such as CommonAPI, DataService, WYSIWYG Designer, Form Maker, and List Maker.
- More monitoring tools is on the road.
All the code has full comments, unit tests, and documentation as much as possible. I prefer Test-Driven Development. Moreover, it's not only a server-side framework but also a client-side library. The front-end is written in Vue.js or iView.js, and both native JavaScript and TypeScript are used. The back-end is written in Java 8 and uses MySQL 8.
AJ-framework family
- AJ-framework ---Foundation framework library
- DataService ---One-stop quick CRUD service
- AJ-IAM ---Lightweight OIDC user authentication system
- AJ-workflow ---Lightweight workflow engine