Skip to content
/ Themis Public

It is a lightweight inversion of control container framework

License

Notifications You must be signed in to change notification settings

kpouer/Themis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Themis

Java CI with Maven CodeQL Maven Central

Introduction

It is a lightweight inversion of control container framework written in Java. It is freely inspired by the Spring framework in a much smaller and simpler version. Written for fun and learning purposes but might be used in any project you want.

Dependency

Available through Maven central

<dependency>
  <groupId>com.kpouer</groupId>
  <artifactId>themis</artifactId>
  <version>1.0.0</version>
</dependency>

Features

It comes with two annotations : @Component and @Qualifier. The first one is intended to be added on classes and methods that can be instantiated by the container.

Components are instantiated as singleton and lazily by default but you can change that with the arguments of the @Component annotation.

@Qualifier annotation is used on method parameters to help the container to choose the good Component in the case multiple choices are possible.

Usage

1. Create a new instance of the container

The constructor takes a list of packages to scan for components.

Themis themis = new ThemisImpl("com.kpouer");
MainPanel painPanel = themis.getComponentOfType(MainPanel.class);

About

It is a lightweight inversion of control container framework

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages