Stage mysql persistence

Mysql persistence for stage

License

License

Categories

Categories

MySQL Data Databases
GroupId

GroupId

io.aboutcode.stage.persistence.jdbc
ArtifactId

ArtifactId

mysql
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

Stage mysql persistence
Mysql persistence for stage

Download mysql

How to add to project

<!-- https://jarcasting.com/artifacts/io.aboutcode.stage.persistence.jdbc/mysql/ -->
<dependency>
    <groupId>io.aboutcode.stage.persistence.jdbc</groupId>
    <artifactId>mysql</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.aboutcode.stage.persistence.jdbc/mysql/
implementation 'io.aboutcode.stage.persistence.jdbc:mysql:1.0.0'
// https://jarcasting.com/artifacts/io.aboutcode.stage.persistence.jdbc/mysql/
implementation ("io.aboutcode.stage.persistence.jdbc:mysql:1.0.0")
'io.aboutcode.stage.persistence.jdbc:mysql:jar:1.0.0'
<dependency org="io.aboutcode.stage.persistence.jdbc" name="mysql" rev="1.0.0">
  <artifact name="mysql" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.aboutcode.stage.persistence.jdbc', module='mysql', version='1.0.0')
)
libraryDependencies += "io.aboutcode.stage.persistence.jdbc" % "mysql" % "1.0.0"
[io.aboutcode.stage.persistence.jdbc/mysql "1.0.0"]

Dependencies

compile (5)

Group / Artifact Type Version
io.aboutcode.stage.persistence : core jar 1.0.0
io.aboutcode.stage.persistence.jdbc : core jar 1.0.0
org.slf4j : slf4j-api jar 1.7.12
ch.qos.logback : logback-core jar 1.2.3
com.google.guava : guava jar 19.0

test (2)

Group / Artifact Type Version
junit : junit jar 4.12
org.mockito : mockito-all jar 1.9.5

Project Modules

There are no modules declared in this project.

Stage framework

Overview

Stage is a small and fast, no-fuzz and no-magic framework for developing business-grade Java applications.

It provides you with a lot of functionality that allows you to create powerful Java applications fast. However, removing boilerplating or letting you write code as fast as possible is not its main purpose. Instead, it allows you to focus on proper separation of concerns and helps you to keep you code-base structured and readable. This makes it the ideal candidate for applications that are expected to grow.

Releases

3.0.6

  • Includes authorization checks in exception handling and allows custom exceptions to be thrown during auth
  • Version now also allows incomplete version strings (e.g. 3.2 or even just 3)

3.0.5

  • Allows default values for @QueryParameter annotations
  • @QueryParameter fields can also be enums now
  • Empty values for non-mandatory parameters work now
  • Accept header parsing is working for simple headers now
  • NonAuthorized is now thrown as a UnauthorizedException and can hence be transformed to a custom response

Architecture

All functional units in Stage are called Components: small, self-contained pieces of code that provide very clearly defined functionality. Components have a lifecycle and can interact with other Components through a dependency mechanism. In this, they are very similar to Sprint Boot's Controllers.

However, the major difference between Spring Boot and Stage is that the latter does not rely on automatic resolving of dependencies, does not inject code anywhere and does not require XML or JSON configuration files to run. We think that configuration is code, hence all configuration in Stage is done in-code. This makes the code much more readable and much easier to understand for developers that are new to the project.

The main entry point for Stage is an instance of Application along with its ApplicationContainer:

public class Main {
   public static void main(String[] args){
     ApplicationContainer.start(new Application() {
        @Override
        public void assemble(ApplicationAssemblyContext context) {
           // add your components here
        }
     }, args);
   }
}

Applications can be started to run once and then terminate (as in the example above) or to run until the application is terminated explicitly.

TO BE CONTINUED

Versions

Version
1.0.0