Jump to content
RaV137

Java EE/Spring/Hibernate etc

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 :)

Share this post


Link to post
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

Share this post


Link to post
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...

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

I'd personally stay away from Java EE and use nearly anything else (sans python) for web stuff.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

About Us

We are glad you decided to stop by our website and servers. At Fearless Assassins Gaming Community (=F|A=) we strive to bring you the best gaming experience possible. With helpful admins, custom maps and good server regulars your gaming experience should be grand! We love to have fun by playing online games especially W:ET, Call of Duty Series, Counter Strike: Series, Minecraft, Insurgency, DOI, TF2 & Battlefield Series and if you like to do same then join us! Here, you can make worldwide friends while enjoying the game. Anyone from any race and country speaking any language can join our Discord and gaming servers. We have clan members from US, Canada, Europe, Sri Lanka, India, Japan, Australia, Brazil, UK, Austria, Poland, Finland and many other countries. It doesn't matter how much good you are in the game or how much good English you speak. We believe in making new friends from all over the world. If you want to have fun and want to make new friends join up our gaming servers and our VoIP servers any day and at any time. .

×

Important Information

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