I think modern Spring lends itself very well to making services this way, if you can make the effort to make your application components modular, you can reuse the common stuff and have it interface nicely with the service specific code.
Also we don’t upgrade because teammates are afraid of breakage. Because of that, we’re now at five different versions of Spring in our app.
If I had my way, I would rip it all out.
As I mentioned in a comment earlier today, frameworks make the easy things easier and the hard things harder. If your needs are to build a really basic CRUD app, then sure, Spring is nice. But since it probably isn't, if indeed you're doing something else more than a hello world TODO app, then it's an unimaginable pain in the ass, and it's a lot easier to cobble together what subset of its features you need from other libraries.
Apologies but English is not my first language. I can’t find “to gram” in any dictionary, including urbandictionary. Care to explain?
That's neither a productive nor a cheap approach to software development.
I try not to be too fussy about tech overall, but Spring is on my "I won't work with this again" list:
1. Spring
2. Mediawiki Visual Editor / OOJS UI
3. Typo3 2. Mediawiki Visual Editor / OOJS UI
I find this helps with adding citations. I don't know why you'd fuss over something that seems easy to learn and easy to ignore.[edit]
I had to look up OOJS UI. It appears I hadn't understood your comment.
Mediawiki Visual Editor is fine to use.
It's not fine to make plugins for.
Spring monoliths used to be hard but that was a long time ago. My advice is this though. If you have an app written to xml spring stay that way until it's eol. Mixing annotations and xml was hairy and made things answers and documentation less applicable.
Wrt the author sounds like some poor decisions were made. Leaking Spring apis is an obvious nono. Even from v1. Second modularization is for pluggability of common apis not for you to version internal software projects. Stuff like that. If you just sit and whiteboard how you should use this thing you'll see it's not that scary. There's no doubt it's a sharp tool which is good right? If someone really needs certain beans to not show up in specific contexts they're glad it's there as a feature and easily implemented.
I'm glad spring and spring boot are available. I've looked at other alternatives and don't consider them in the same league.
Of course the former will be a disgusting monster compared to that, but that would be the case with any 2 frameworks substituted.
Spring does a shitton of things, because enterprise business project require the strangest things. But it has a clear structure convention and if the developers actually know the platform instead of using the chimp-typewriter technique it does make other devs job easier. I am not necessarily a fan of runtime DI though, but otherwise I think it is a well-thought out framework making the easy thing really easy, and making the hard random godforsaken requirements of businesses possible — many possibly better liked framework forgets about the latter. I would be interested in what others consider a good framework (in any language)
Nonetheless, I would like to see a new framework slowly emerge making use of new java features as much as possible.
I consulted on a enterprise java project that had a few dozen full-time developers and a few consultants, maybe one of the full-timers "knew the platform" and certainly one of the consultants did. By the time I left a year later after finishing my part, I kind of "knew the platform" and the rest of the team was no further along than before.
Counting on people learning a very complex platform is just asking for heart ache.
I'm a DI fan and I've found alternative DI frameworks to not work as well as Spring's DI. I'm only talking about Spring's annotation-based configuration.
There are also several good reasons not to like it, though: the errors can be unbelievably confusing, and it's quite hard to get a good mental model of how and why things are done in it.
Real question: When Google Guice came out, there was a hype about it was better than Spring DI. Honestly, I think part of the hype came from their amazing PR, courtesy of "Crazy Bob". Have you tried it, and what did you think? If not, what other DI frameworks / libraries have you tried? Why did you prefer Spring? I am throwing zero share here. I am genuinely curious!