I've just started learning Struts and I'm trying to be marketable for a good job as a Java programmer. My next decision would be choosing which to learn next, Spring or Hibernate?
Also do you guys have any suggestions or tips for me to be good? Thanks in advance!
Prerequisites. We assume you have a good understanding of the Java programming language. A basic understanding of relational databases, JDBC, and SQL will be very helpful in understanding this tutorial.
Hibernate will be definitely easy as compared to spring, as Spring is little bit complex to learn that dependency injection and IOC containers.
It took me 12 days to study Spring and Spring MVC properly and start work on a project. For Hibernate if you know how SQL and database works Hibernate Framework would not be much difficult to understand. However to master in both the frameworks you have to keep learning and concurrently apply them to project.
I'd suggest learning Spring. Learn just the basics, and then when you do come to learn Hibernate you'll be able to take advantage of all the Spring helpers which make Hibernate easier to use.
There's also the point that Spring is useful in many layers instead of just at the data access part :)
Spring and Hibernate are 2 very complimentary technologies and depending on the needs you may use both, either or none. But the fundamentals both of these frameworks rely upon are 100% marketable and more importantly are required for any seasoned professional.
There is little value in learning Hibernate without first obtaining fundamental knowledge on relational data modeling, relational database design, and transaction processing. So these should be your pre-requisites for Hibernate.
There is little value in learning Spring without first obtaining fundamental knowledge on design patterns, dependency injection, and application design (as general as it sounds you need to understand things like application tiers, class and package dependencies, MVC (sounds like you are familiar with this one via Struts), security and web standards, and of course fundamentals of OOD).
By learning both you will become if not marketable but at least very solid professional who is confident and comfortable in working on majority of Java (and not just Java) applications.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With