Welcome to a course for Java Engineers. It's created for developers who already have some experience but don't understand how the code that they copy-paste works (if you're a beginner, consider Java Beginner course). It's for you if:
- You've written at least 1 app with HTTP and DB
- You don't know which HTTP verbs are idempotent
- Configuration of your Thread/DB Pool is based on a guess
- For you
@Transactional
is magic that hopefully works - Most of your tests use mocking frameworks
This course is rarely read in a group, most of the time you're expected to go through the steps on your own at your own pace. But feel free to ask questions in the GitHub Discussions.
There are so many libraries and frameworks around that it's impossible to learn them all. Fortunately you don't need to. We'll be learning fundamental principles that you can reuse no matter what implementation you choose.
Throughout the course we'll implement a tiny REST app using:
- Maven
- H2, Hibernate, C3P0
- HibernateValidator
- Spring IoC
- Tomcat, Spring MVC, Jackson2
- TestNG, Unitils, Qala Datagen, MockMvc, RestAssured
Within the course you're going to have steps to accomplish - most of them will be reading, practicing. There will be questions that you should be able to answer (at least to yourself) - please make sure you don't skip this part. Typical pace: 15 hours per week, 6 months for the whole course.
- Part I: Maven
- Part II: Web and Application Servers
- Part III: Spring & REST
- Part IV: JDBC & Co.
- Part V: Declarative Transactions & AOP
- Part VI: DB Pools
- Part VII: Hibernate
- Next steps
- Should you have questions or suggestions please file them here.
- Our blog, and here's the new one