Java framework inspired by Spring Framework.
import io.github.matsior.summerframework.core.Context;
import io.github.matsior.summerframework.core.SummerApplication;
public class MyApplication {
public static void main(String[] args) {
SummerApplication.start(MyApplication.class);
}
}
- By constructor:
import io.github.matsior.summerframework.core.Autowired;
import io.github.matsior.summerframework.core.Seed;
@Seed
class MyService {
private MySecondService mySecondService;
@Autowired
MyService(MySecondService mySecondService) {
this.mySecondService = mySecondService;
}
}
@Seed
class MySecondService {
}
- By setters:
import io.github.matsior.summerframework.core.Autowired;
import io.github.matsior.summerframework.core.Seed;
@Seed
class MyService {
private MySecondService mySecondService;
@Autowired
void setMySecondService(MySecondService mySecondService) {
this.mySecondService = mySecondService;
}
}
@Seed
class MySecondService {
}
- By fields:
import io.github.matsior.summerframework.core.Autowired;
import io.github.matsior.summerframework.core.Seed;
@Seed
class MyService {
@Autowired
private MySecondService mySecondService;
}
@Seed
class MySecondService {
}
import io.github.matsior.summerframework.core.Context;
import io.github.matsior.summerframework.core.SummerApplication;
public class MyApplication {
public static void main(String[] args) {
Context context = SummerApplication.start(MyApplication.class);
MyService myService = context.getSeedHolder().getSeed(MyService.class);
}
}
- Seed - TBD
- Context - TBD
TBD
- Dependency injection
- Artifact in remote repository
- External properties support
- Http server
- Http client
- Documentation generated from Java Docs
- SQL client
- Pipeline for automatic deployment
Planned date: 2024.03.29 DELAYED
Package should be deployed on remote artifact repository and ready to use with Maven based projects along with dependency injection functionality.
Planned date: 2024.04.26
HTTP server should be available.
Planned date: 2024.05.24
External properties support and HTTP client should be available.
Why?
Inspired by https://100commitow.pl/.
Attempt to implement something different from everyday business code.
Learn how Spring Framework internally works.
Learn what problems could appear during libraries implementation and how to face them.
What Summer Framework is?
Java framework to fasten implementation process by reducing boilerplate code.
What Summer Framework is not?
Production solution.
Spring Framework replacement.