Jump to content

Java EE/Spring/Hibernate etc


RaV137

Recommended Posts

Hey, so here I am, trying to learn these things. And I'd like to ask experienced coders in these technologies from which sources get the knowledge, on which put biggest pressure, what be aware of end so on. Would love to get some feedback or tips :)

Link to comment
Share on other sites

This is basically my job.

Well, used to be. Still come into contact with it regularly, but I'm more specialized nowadays.

 

First step should be making sure you understand the conceps of Inversion of Control and Dependency Injection.

Found that this tutorial tends to help a lot of people with Dependency Injection (and IoC).: https://www.journaldev.com/2394/java-dependency-injection-design-pattern-example-tutorial

 

After that it depends on what you use case is, but generally speaking Spring has some sample code on their website for basically every component.

Most of the things you will run into, will be solved on StackOverflow.

  • Hibernate: try to stick with the JPA specification. Won't be always possible, but helps switching to different ORMs down the line
  • Might be worth looking into Spring Data  (JPA). Adds another abstraction layer to data management.
  • I'm assuming you are using Maven or Gradle (or equivalent): if not => do that.
  • Don't bother with Spring MVC, make REST endpoints and build your front end in Javascript (or be like me: let others build the front end)

You will notice it's really easy to get stuck in the Spring economy. Spring is a behemoth in Java development. But be aware there are other solution ;)

 

Example: we recently built a microservice architecture based application using Dropwizard and Google Guice. JDBI instead of Hibernate. This had some other fun things like AKKA and Kafka, but don't worry about those just yet :)

I like this stack way more than the standard Spring/Hibernate setup. It makes Spring feel ancient

 

 

Don't frequent these forums anymore, but I am on Discord basically 24/7. Feel free to add me there in case you have more specific questions.

Edited by DrJoske
  • Like 1
Link to comment
Share on other sites

This is basically my job.

Well, used to be. Still come into contact with it regularly, but I'm more specialized nowadays.

 

First step should be making sure you understand the conceps of Inversion of Control and Dependency Injection.

Found that this tutorial tends to help a lot of people with Dependency Injection (and IoC).: https://www.journaldev.com/2394/java-dependency-injection-design-pattern-example-tutorial

 

After that it depends on what you use case is, but generally speaking Spring has some sample code on their website for basically every component.

Most of the things you will run into, will be solved on StackOverflow.

  • Hibernate: try to stick with the JPA specification. Won't be always possible, but helps switching to different ORMs down the line
  • Might be worth looking into Spring Data (JPA). Adds another abstraction layer to data management.
  • I'm assuming you are using Maven or Gradle (or equivalent): if not => do that.
  • Don't bother with Spring MVC, make REST endpoints and build your front end in Javascript (or be like me: let others build the front end)
You will notice it's really easy to get stuck in the Spring economy. Spring is a behemoth in Java development. But be aware there are other solution ;)

 

Example: we recently built a microservice architecture based application using Dropwizard and Google Guice. JDBI instead of Hibernate. This had some other fun things like AKKA and Kafka, but don't worry about those just yet :)

I like this stack way more than the standard Spring/Hibernate setup. It makes Spring feel ancient

 

 

Don't frequent these forums anymore, but I am on Discord basically 24/7. Feel free to add me there in case you have more specific questions.

Thank you, I'll surely check these sites and try to remember what you wrote (e.g rust instead of mvc, i also like that part with leaving front to someone else :P).

 

Btw weird I didn't got a notification about this answer, luckily I was browsing some forum stuff...

Link to comment
Share on other sites

  • 7 months later...
On 11/15/2017 at 3:53 PM, DrJoske said:

This is basically my job.

Well, used to be. Still come into contact with it regularly, but I'm more specialized nowadays.

 

First step should be making sure you understand the conceps of Inversion of Control and Dependency Injection.

Found that this tutorial tends to help a lot of people with Dependency Injection (and IoC).: https://www.journaldev.com/2394/java-dependency-injection-design-pattern-example-tutorial

 

After that it depends on what you use case is, but generally speaking Spring has some sample code on their website for basically every component.

Most of the things you will run into, will be solved on StackOverflow.

  • Hibernate: try to stick with the JPA specification. Won't be always possible, but helps switching to different ORMs down the line
  • Might be worth looking into Spring Data  (JPA). Adds another abstraction layer to data management.
  • I'm assuming you are using Maven or Gradle (or equivalent): if not => do that.
  • Don't bother with Spring MVC, make REST endpoints and build your front end in Javascript (or be like me: let others build the front end)

You will notice it's really easy to get stuck in the Spring economy. Spring is a behemoth in Java development. But be aware there are other solution ;)

 

Example: we recently built a microservice architecture based application using Dropwizard and Google Guice. JDBI instead of Hibernate. This had some other fun things like AKKA and Kafka, but don't worry about those just yet :)

I like this stack way more than the standard Spring/Hibernate setup. It makes Spring feel ancient

 

 

Don't frequent these forums anymore, but I am on Discord basically 24/7. Feel free to add me there in case you have more specific questions.

I 2nd that getting stuck in the spring economy. I find myself forgetting some Java/Groovy fundamentals when getting spoiled by some of their annotations and the like. I'm a big fan of Ratpack(Uses Guice for DI) and the newly released Micronaut(Has its own injection something or other) lately as other options. These are good because they allow you some more freedom of what to do with the nuts and bolts if you will instead of insisting on a convention(albeit good conventions for the most part). DrJoske has some really good suggestions here, hopefully they guided you in the right direction.

Link to comment
Share on other sites

  • 3 years later...

I see since November 2017 a lot of things has changed 😄

Today I'm Java/Kotlin Developer with 4 years of experience in Poland's biggest ecommerce, Allegro 😄

 

On 7/13/2018 at 9:47 PM, Symfony said:

I'd personally stay away from Java EE 

100% true, for Java the best choice is Spring Boot, very easy to get some basic app running :)

 

On 7/13/2018 at 9:47 PM, Symfony said:

use nearly anything else (sans python) for web stuff

Tried Python for some AI/ML basic stuff, like linear/logistic regression, trees and forests etc., it's fun to write, but I feel better with typed languages, like Kotlin :) 

Edited by RaV137
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.