6 ms·
Well I wish predicting future is this easy , as of now the place where I work we use lot of spring (Spring cloud) completly microservice and it is only reason I
by sabareesh 8y ago
Well I wish predicting future is this easy , as of now the place where I work we use lot of spring (Spring cloud) completly microservice and it is only reason I believe java is still alive. Spring makes things lot more easy for us atleast. But I have to agree with you regarding Oracle
May be you will be interested in this article https://spring.io/blog/2019/03/07/has-there-ever-been-a-better-time-to-become-a-java-developer https://spring.io/blog/2019/03/07/has-there-ever-been-a-bett...
- rb808 8y agoIronicaly I'm the other way around. Java is a pretty good platform, save the GC pauses. However I really dont see what benefits Spring brings. Spring Boot is great for prototyping and trivial apps, but for big systems you really want to break it apart. DI is better done with ServiceLocators. Some of the smaller libraries like Spring Shell, Spring Mobile are junk. And I still see lots of XML config that you dont know if they'll fail until you try to run them.
- jimbokun 8y ago"Spring Boot is great for prototyping and trivial apps, but for big systems you really want to break it apart." Any practical advice for making this happen? I have a Spring Boot system I wrote and am responsible for, but now I just want the pain to stop.
- spricket 8y agoYou need to take the library approach. It's much like react vs angular. With angular, and spring, you get a ton out of the box but much is mediocre. Like React, you can out together your own "best of breed" java stack. It just takes a lot more work. Look to replace one component at a time. For DI Guice or Dagger2. For REST Vert.X or Jersey. Logging Logback. Metrics, DropWizard Metrics. OAuth ScribeJava. Hibernate for Spring Data. Take a look at the "awesome java" repos and choose your poison. I'll warn you now that while you can end up with something far better you lose the coherency of Spring. Of your organization doesn't have a good "apprentice" setup all the new devs will be utterly and hopelessly lost. And good luck finding a Dev that knows 20+ libraries vs "Spring". Rolling the libs was worth it for us but probably not a lot of eng orgs If you're just looking for a drop-in Spring replacement you can't go wrong with DropWizard. It's a solid combo of best-of-breed libraries and has quiet support/adoption by many huge companies
- sabareesh 8y agoI am not sure what else are you looking for, Spring boot/cloud has pretty much all you need to build any application.
- MarkMc 8y agoI know Spring and Spring boot are very popular, but I don't understand why. The Spring Boot home page says, "Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run"." What does that mean? What does Spring Boot give me that Tomcat doesn't?
- deleted 8y ago[deleted]
- sbov 8y agoWhat code are you writing that Tomcat runs? Are you coding against the servlet spec? Or are you using something like dropwizard? Tomcat is a servlet container that implements various Java EE specifications, such as the servlet spec, jsp spec, etc. Spring encompasses many different libraries. The most widely used is probably Spring MVC, which builds on top of the servlet spec to make building web applications easier. After that Spring Security is probably most widely used, which adds things like auth, CSRF tokens, etc. Spring Data and Spring Cloud are also somewhat popular. There are many more Spring libraries, but I have little to no experience with them. You can really give or take what you want here. You can use Spring MVC with Spring Data, or Hibernate, or JPA, JDBC, or whatever you want really. One place I worked used Spring MVC with home grown security and ORM layer. Spring Boot brings "convention over configuration" to Spring. Because Spring is so configurable it can take a lot of boilerplate. Spring Boot removes much of that boilerplate for certain use cases and has, generally speaking, more user friendly defaults. Spring Boot also runs off a server embedded in the jar. That's why you can "just run" it. You create a "Main" method. You can choose from several embedded servers, including Tomcat. But this isn't exactly special for Spring Boot because you could do this even if you didn't use Spring Boot.
- 8y ago