Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Sichere ProgrammierungChrome Already Has The Eyedropper You're Building(20.09.2026 um 18:25 Uhr)
Sichere ProgrammierungFor VS Code lovers, you can have a colored border and more from now...(20.09.2026 um 18:25 Uhr)
Sichere ProgrammierungNuxt Hydration Mismatch: Why It Happens and How to Fix It(20.09.2026 um 18:26 Uhr)
Sichere ProgrammierungYour Browser Is Rejecting Every Drop On Purpose(20.09.2026 um 18:26 Uhr)
Sichere ProgrammierungReact Derived State: Why That useState Is Probably a Bug(20.09.2026 um 18:27 Uhr)
Sichere ProgrammierungI tried OpenProject and Vikunja. Then I built Agila.(20.09.2026 um 18:37 Uhr)
Sichere ProgrammierungSkill Recorder keeps your screen local until you press Analyze(20.09.2026 um 18:38 Uhr)
Sichere ProgrammierungChrome Already Has The Eyedropper You're Building(20.09.2026 um 18:25 Uhr)
Sichere ProgrammierungFor VS Code lovers, you can have a colored border and more from now...(20.09.2026 um 18:25 Uhr)
Sichere ProgrammierungNuxt Hydration Mismatch: Why It Happens and How to Fix It(20.09.2026 um 18:26 Uhr)
Sichere ProgrammierungYour Browser Is Rejecting Every Drop On Purpose(20.09.2026 um 18:26 Uhr)
Sichere ProgrammierungReact Derived State: Why That useState Is Probably a Bug(20.09.2026 um 18:27 Uhr)
Sichere ProgrammierungI tried OpenProject and Vikunja. Then I built Agila.(20.09.2026 um 18:37 Uhr)
Sichere ProgrammierungSkill Recorder keeps your screen local until you press Analyze(20.09.2026 um 18:38 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

I was tired of Spring Boot, so I built a Laravel-inspired Java framework

Reagiere als Erste:r — dein Feedback zählt!

I'm a self-taught developer. I'm 25 and I just want to build things — Minecraft server websites, dashboards, portfolios — without spending half my time fighting my own stack.

That's how Obsidian was born.

The problem

I tried Spring Boot with Thymeleaf. It felt horrible. Too much configuration, too many annotations before writing a single line of business logic. I knew Laravel and Symfony from PHP — and the contrast was brutal.

In Laravel, you clone a repo, run one command, and you're building. In Spring Boot, you're still configuring beans.

I wanted that Laravel feeling, but in Java. I couldn't find it. So I built it.

What is Obsidian?

Obsidian is a web framework built on top of Spark Java that brings Laravel-style conventions to the JVM.

git clone https://github.com/obsidian-framework/obsidian my-app
cd my-app
mvn clean package exec:java

That's it. App running on localhost:8888.

How it feels in practice

Annotation routing

No manual wiring. You declare routes directly on your methods.

@Controller
public class PostController extends BaseController {

    @GET("/posts")
    private Object index(PostRepository repo) {
        return render("posts/index.html",
            Map.of("posts", repo.findAll()));
    }

    @POST("/posts")
    private Object store(Request req, Response res) {
        // handle form submission
    }
}

Dependency injection — two ways

Field injection when you need it across multiple methods:

@Controller
public class ArticleController extends BaseController {

    @Inject
    private ArticleRepository articleRepo;

    @GET("/articles")
    private Object index(Request req, Response res) {
        return render("articles/index.html", Map.of("articles", articleRepo.findAll()));
    }

    @DELETE("/articles/:id")
    private Object delete(Request req, Response res) {
        articleRepo.delete(req.params(":id"));
        res.redirect("/articles");
        return null;
    }
}

Method parameter injection when only one route needs it:

@GET("/articles")
private Object index(Request req, Response res, ArticleRepository repo) {
    return render("articles/index.html", Map.of("articles", repo.findAll()));
}

Fluent migrations

Laravel-inspired schema builder. No raw SQL.

public class CreatePostTable extends Migration {

    @Override
    public void up() {
        createTable("posts", table -> {
            table.id();
            table.string("title").notNull();
            table.text("body");
            table.timestamps();
        });
    }
}

LiveComponents

This is the part I'm most proud of. Reactive server-side UI without writing JavaScript — the runtime is included automatically via {{ livecomponents_scripts | raw }}, inspired by Laravel Livewire.

@LiveComponentImpl
public class Counter extends LiveComponent {

    @State
    private int count = 0;

    @Action
    public void increment() { count++; }

    @Action
    public void decrement() { count--; }

    public int getCount() { return count; }

    public String template() {
        return "components/counter.html";
    }
}
<div live:id="{{ _id }}">
    <h2>Count: {{ count }}</h2>
    <button live:click="increment">+</button>
    <button live:click="decrement">-</button>
    <div live:loading>Updating...</div>
</div>

I use this in production on a Minecraft server website. It works.

How it compares to Spring Boot

Spring Boot Obsidian
Time to first route 10+ minutes 30 seconds
Annotations to start 3–5 1
Config files Multiple .env
Learning curve Steep Minimal
Production-ready Yes Side projects & small apps

What it's built on

  • Spark Java — lightweight HTTP server
  • ActiveJDBC — ActiveRecord-style ORM
  • Pebble — Jinja2-inspired template engine
  • Reflections — classpath scanning for auto-discovery
  • Jedis — Redis support via the cache system

Who is it for?

Honestly? Not for enterprise teams that need Spring Boot's ecosystem. Obsidian is for:

  • PHP developers forced to write Java who miss Laravel
  • Developers who want to ship a small Java app without the ceremony
  • Anyone who thinks Java web dev should feel less like paperwork

What's next

The framework is MIT licensed, the code is open, and I'm building in public. There will be bugs. I'll fix them.

If this sounds interesting — the repo is at github.com/obsidian-framework and the docs are at obsidian-java.com.

Star it if you want to follow along. Open an issue if something breaks. That's how open source works.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I was tired of Spring Boot, so I built a Laravel-inspired Java framework

Thematisch verwandte Begriffe: tired, Spring, Boot, built · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-93956 | A flaw has been found in olivier-ls PHP-FTS up to 1.1.2. Affected by thi…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick