What should I learn to improve my Java skills?

I currently know Java SE, and I want to learn something more "enterprise."

I would like something more distributed (application server, server programming, web content, content management system ...), but any suggestion is fine.

There are many frameworks I've heard: spring, hibernate, persistence, ejb, jsp, servlet, jsf, jboss, glassfish, ant, etc. etc. etc. etc. I am very confused where to start.

So the question is: can someone explain to me that the framework actually exists; and where should i start?

+4
source share
6 answers

I understand that I don’t know where to start. The answer is anyway. Just get started. Don't worry about learning the best frameworks (as usual not for any particular situation), but I would recommend some of the following technologies:

  • Spring (this is a huge structure that covers many things, and almost every company I know that working with Java uses it in some way).
  • JDBC (basically, just knowing how to make direct sql calls, because, unfortunately, there is too much legacy code that does not use the ORM tool, and this is convenient to understand)
  • Hibernate
  • Unit Testing and Mocking
  • Ant / maven

The list may go on, but the bottom line does not fall too far into the frame. Choose something and create a website with it.

+7
source

Have you ever used a database? If I hadn't started with this: exploring sql with jdbc (e.g. using spring jdbc).

Then find out what a database transaction is. This is a very important concept (see spring transaction management ).

Then I will continue learning by looking at the orm (object relational mapping) structure such as hibernate. But at this point it should be pretty easy if you know sql / jdbc / transaction management well.

At the same time, you are experimenting on external platforms, you can study front-end interfaces, for example, spring mvc for the server side and jquery or a prototype for the client side (javascript).

Check out something like appFuse , which will give you an application skeleton that you can improve on.

+3
source

I would look (in order):

  • servlets. No matter what framework I had to learn or deal with clients, servlets are always located somewhere in their system.
  • JDBC. A database approach is key to most frameworks.
  • Spring You can start with configuration and IoC and continue to collect a huge range of methods (for example, a wrapper of JDBC, ORM, AOP, etc.). SPring will lead you to a huge number of additional tools and frameworks and will give you very simple tools for their implementation.

I probably wouldn’t worry with EJB. I see very little use among customers.

+1
source

You cannot learn everything. Start with something like spacers and go from there.

+1
source

This is not quite the answer you asked for, but I would have found / created some kind of project, perhaps a small project, to love and do it. As I learned all the coding skills that I already have!

+1
source

I recommend you create a small enterprise application. CRUD or something. From my experience you should learn:

  • Maven is a great tool for creating projects, dependency management, and the compilation life cycle.
  • JPA (Hibernate, OpenJPA) - ORM, easy database use.
  • EJB - enterprise java beans (logical)
  • Managed beans (part of Java EE) - controllers
  • JSF - views
  • PrimeFaces are some useful components for JSF.

Knowledge of these technologies is sufficient in the beginning.

+1
source

Source: https://habr.com/ru/post/1309272/


All Articles