I remember the days, when the Spring framework was advertised as a lightweight alternative to Enterprise java beans (ejb); now Spring outgrew the pretence of being lightweight, don't know when that happened. A year and a half ago, i got back to work with java and spring boot, and i was overwhelmed by the prevalence of annotations in spring boot.<p>To cope with all this, i wrote this little project: <a href="https://github.com/MoserMichael/ls-annotations" rel="nofollow">https://github.com/MoserMichael/ls-annotations</a><p>It's a decompiler that is listing all annotations, so it becomes easier to grep a text file in order to detect the dependencies between annotations.<p>it is using the asm library <a href="https://asm.ow2.io/" rel="nofollow">https://asm.ow2.io/</a> to inspect the bytecode files, so as to extract the class signature, along with the reference and declaration of annotations included in a classpath, or class files included within a directory structure. A limitation/feature is, that it is inspecting already compiled bytecode files.
Spring is certainly a divisive topic, and I think it's hard for people on different sides to fully understand each other's experiences.<p>I have used Spring for years. Yes, there are some things I don't like about it, for instances Spring Boots overeager auto configuration, but it provides an unparalleled level of flexibility and productivity. I have never encountered a behavior in Spring that I have not been able to read the source and figure out what's going on and then change the behavior to be what I want. Spring is absurdly flexible and you only need to use the parts that you want.<p>A few years ago, I decided to try an alternative and wrote an app in Vert.x with no Spring. It worked fine, but it was a hell of a lot more work than leveraging the Spring ecosystem. I later rewrote it using Boot, and it works better, is easier to understand, and uses less code.<p>Have you seen Spring Data JDBC? It's such a good idea that saves so much boilerplate and I'm not aware of anything else like it. It threads the needle between rolling your own SQL and descending into the hell of a full on ORM.<p>Anyway, the closets I can come to understanding why people hate Spring so much is to consider my own opinion of Rails. I don't like Ruby and I don't like Rails. I hate all of the magic and I don't want to learn it. But, I'm sure, like Spring, it's enormously productive if you do understand what it's doing and how to use it.
I haven't really touched Java in a while but I don't get why you'd want a <i>lightweight DI container</i>.<p>You can just build your object graph and pass dependencies manually if you want a lightweight approach, no? That's just the way people do it in most languages.
I really like the Go-like simplicity of these libraries, without the cursed architecture astronomy from the 2000s.<p>In general it's interesting times for Java. With all of language improvements from Kotlin/Scala, and upcoming Go-like concurrency it really feels like a renaissance for the language.
I wonder if someone can recommend a lightweight http server library? I like Javalin but it's based on Jetty which is a fully JavaEE compliant framework and includes support for things like OSGI which I don't need. With the whole Log4j situation, I'm re-evaluating some the libraries I've previously relied on.
Looks nice and clean. It does seem to be maintained by a single person (at least the JSON subproject [1]) which will be a major turn off for adoption by an "enterprise"<p>[1] <a href="https://github.com/oblac/jodd-json" rel="nofollow">https://github.com/oblac/jodd-json</a>
This is great. Java BADLY needs to shed weight and verbosity and in general just catch up with the times.<p>Having used not only traditional Java and Spring (including "modern" Spring boot) but also alternatives, like eg DropWizard, I MUCH prefer the alternatives.<p>DropWizard in particular seems to me a more neutral collection of some of the best tools for each job, and it's both simple and easy.<p>Spring is just Spring, Spring and more Spring, and while it's "easy", it's not <i>simple</i>- there's <i>a lot</i> of magic.<p>I'm glad to finally be in a team where people are open minded enough to look outside the Spring bubble. TBH these days, we don't even use Java anymore, we use Kotlin + Arrow which is amazing.
Looks good.<p>Is there a "Getting Started" guide or a list of examples anywhere? I'm on mobile so may have missed them. All I could see were links to the separate component docs.
Looks nice, and reminds me of the ecosystem around Quarkus. I have two questions:<p>1) Is this compatible with GraalVM? I'm mostly asking this out of curiosity.<p>2) Is it using "modern" Java features? Records, pattern matching, optionals.
A lot of this looks like functionality offered by other, more popular libraries. Jodd JSON looks functionally (and syntactically!) similar to Jackson, but Jackson has a lot more users:<p><a href="https://mvnrepository.com/artifact/org.jodd/jodd-json" rel="nofollow">https://mvnrepository.com/artifact/org.jodd/jodd-json</a><p><a href="https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core" rel="nofollow">https://mvnrepository.com/artifact/com.fasterxml.jackson.cor...</a>
Very impressive that all of this is maintained by a single person in their free time! His blog (only Serbian, sorry) is at <a href="https://oblac.rs/" rel="nofollow">https://oblac.rs/</a>
I have used <a href="https://sparkjava.com/" rel="nofollow">https://sparkjava.com/</a> when I still did Java some years back. It was as thin as they come and a real joy to get started and going.