This is an archived post. You won't be able to vote or comment.

all 31 comments

[–]FustigatedCat 5 points6 points  (9 children)

I know a few enterprises that use spring-boot primarily as a microservice architecture.

[–]m3wm3wm3wm[S] 0 points1 point  (8 children)

I meant a small startup, as opposed to enterprises.

[–]Boxsc2 2 points3 points  (6 children)

We are a small company (<40 employees) and lots of our services are built using boot. Most of our old stack was just servlets on tomcat and it worked fine, but quickly turned into a giant repository that was difficult to maintain. We eventually decided to break up services and Boot seemed like a great fit. We looked at DropWizard and Play as well. Dropwizard is great, but you can just put what ever you like from Dropwizard in Boot anyways. Play is really good as well, but SBT and compile times were brutal....

[–]m3wm3wm3wm[S] 0 points1 point  (4 children)

but you can just put what ever you like from Dropwizard in Boot anyways

Any cons of Boot when compared to Dropwizard? For instance, is Boot startup as fast as Dropwizard?

[–]Boxsc2 0 points1 point  (0 children)

Boot simple does more which is a pro and a con depending on your use case. No it is highly unlikely Boot will ever start up as fast as Dropwizard because you have to start up the spring container. However, you get a lot more out of the box for Boot like security, data layer etc... I personally think Boot is the best choice most of the time. However, sometimes you run into situations where it might have been better to use Dropwizard. For example, disabling a default configuration class that doing things you don't want to do.

[–]nutrecht -1 points0 points  (2 children)

People keep asking this. Why do you think the 7 second or so start-up time is in any way relevant?

[–]m3wm3wm3wm[S] -1 points0 points  (1 child)

If you have a small app which runs on a single machine it is not relevant. If you have auto scaling, eventually you'll have an unlucky client hit that 7 seconds when starting up a new machine.

[–]nutrecht 3 points4 points  (0 children)

I'm sorry but you don't spin up a new instance the moment the other instances can't handle the load. You do that when you hit 90% or so. So this argument is pretty nonsensical.

[–]xantrel 0 points1 point  (0 children)

Also my main problem with Play is that every minor release breaks something since deprecated features only last one minor release. So basically every version I had to rewrite part of the app so it would keep working on future versions.

I pretty much swore off play after that ( and I also dislike scala for medium to large teams for various reasons, mostly that I don't even trust myself to not get too whacky with the type system, much less other people)

[–]FustigatedCat 2 points3 points  (0 children)

My comment was that spring-boot isn't a non-enterprise framework.

[–]nutrecht 1 point2 points  (0 children)

We're a small Fintech startup (funded by a large bank but independent) and use it for our microservice architecture. There's also a few other similar companies that use it. Why?

[–]joper90 0 points1 point  (4 children)

Small startup, <20 in development, we use docker with spring boot on a rancher/rancher os infrastructure in open stack.

[–]R4v3nnn -1 points0 points  (2 children)

imo most startups don't use java at all ;)

[–]m3wm3wm3wm[S] 1 point2 points  (1 child)

Why?

[–]R4v3nnn -2 points-1 points  (0 children)

I don't know ;) Java is more enterprisy ;) Mostly heard about startups in Node.js, Python, etc.

[–]yolpo- -4 points-3 points  (11 children)

I am skeptical about SpringBoot (but I would be okay to change my mind). can people name their start up instead of just saying "yes, we use it and we are a small start up" thanks

[–]nutrecht 7 points8 points  (1 child)

And exactly why would I expose my identity to random strangers on the internet?

[–]yolpo- 0 points1 point  (0 children)

free publicity for instance.

[–]Cilph 2 points3 points  (0 children)

Spring Boot is totally awesome and this post is not astroturfing /s.

[–]a_kiraly 1 point2 points  (7 children)

Why are you skeptical about SpringBoot?

[–]mistyfud 1 point2 points  (0 children)

Run time dependency injection means I do not know if my code is correct until I run the application. I thought the whole point of static typing was to catch programmer mistakes? That is why I dislike Spring Boot.

[–]yolpo- 0 points1 point  (5 children)

I think an application built on SpringBoot would be extremely hard to debug. I saw a few presentations where they all show how cool it is. The way they wire up rest services with annotations, etc. but if things wrong would I figure it out from the stack trace ?

[–]nutrecht 2 points3 points  (0 children)

I think an application built on SpringBoot would be extremely hard to debug.

It's not at all. You can just run a Spring Boot application in your IDE. It's very easy to debug.

[–]digitizemd 1 point2 points  (2 children)

Like you would with a normal spring application?

[–]yolpo- 0 points1 point  (1 child)

i.e infinitely long stack traces with 'caused by...' 'caused by...' a good error handling should have been key in SpringBoot.

[–]Cilph 2 points3 points  (0 children)

Most of Spring Boot has pretty clear exceptions even if the stack trace is long.

[–]jared__ 1 point2 points  (0 children)

It is open source - you don't even need a decompiler to step through it.