Remember when Java was dominated by SSH enterprise frameworks (Spring, Struts and Hibernate), but now it feels like Spring has completely left those two frameworks behind. More and more people are using Spring, fewer are using Struts, and even fewer are using Hibernate. After all, it talent mobility is too large now, it is very important to recruit people to start, who knows when he will run away. Hibernate is too complex.
SSH is what
Struts2: Generally speaking, it is to fulfill the function of C in the MVC model, which is to write the specific business logic
From its design, the request goes to the Web container, passes through a series of filters, asks ActionMapper if it needs to invoke an Action by requesting FilterDispatcher, and if so, executes the previously configured interceptor. We get to our concrete logic, which then continues to execute the corresponding interceptor and filter logic, and is finally returned to the caller.
Spring: In layman’s terms, it manages the beans in the middle of our writing logic through its core IOC. We use IOC to reduce coupling and simplify the operation of objects.
Hibernate: Object relational mapping framework, in short, it is JDBC for a very lightweight object encapsulation, the purpose is to make the database as easy as operating objects.
This is the original purpose of SSH, SSH, SSH, SSH, SSH, SSH, SSH, SSH, SSH, SSH, SSH.
Why is it out of date
What is advocated and popular now is the front and back end separation (by which I mean complete separation, rather than the previous separation through templates, where the front and back end data interaction is based on the HTTP API).
Back-end design interfaces tend to be Restful architectures. The reason why there is such a change is that the front-end is not only the Web end, but also the APP in the era of mobile Internet. So from the backend point of view, they’re both clients.
There is no way for the app to render using templates, only HTTP. This is also the trend of back-end services.
Spring+Struts+Hibernate is less and less
Spring (or Spring Boot) +SpringMVC+Mybatis
There are many Java backend technologies, if you want to improve, the best shortcut is to learn in a solid way. For those who have just started working, you can spend the time learning SSH framework to learn SpringMVC, then master the core of Spring, and then learn what Restful concepts are. Finally, you can learn some JDBC concepts (ORM framework is not recommended at the beginning). I believe I can gain and grow.