Traditional Culture Encyclopedia - Traditional festivals - What are the mainstream frameworks that Java uses in enterprise development now?

What are the mainstream frameworks that Java uses in enterprise development now?

After more than ten years of Java development, I want to tell you about spring mvc (including software and middleware) that I have used a lot in the last year or two.

Spring: I have been using it since I started working; Is a J2EE framework, which provides good support for IOC and encapsulates AOP technology well.

SpringMVC: It is also a sub-project of Spring, which realizes the MVC design pattern and aims at decoupling.

MyBatis and Hibernate: both are ORM frameworks, and Hibernate is used less now; SpringDataJPA is also used, which can be regarded as a relatively advanced encapsulation, and SQL statements can be realized by naming methods;

As you can see, the above is the SSM framework, which is still popular now.

Maven: New and old projects are built on Maven, which is a project management tool. Its main functions are: project construction; Dependency management of Jar package; Version management; Continuous integration and so on;

JUint: unit test tool; Also an old friend; There are many test frameworks, such as SpringTest, JMock and so on.

Shiro, SpringSecurity: A framework of security authentication, which is used for user authentication, authority authorization, encryption, session management, etc.

CxforAxis: the old project WebService is used more; Historical issues still need to be understood;

Quartz: Timed service framework, generally independent application;

Elastic-job: distributed timing service framework, produced by Dangdang;

Log4j and logback: various logging tools; Now there will be some frameworks for log collection and analysis, such as ELK;;

Ehcache: cache framework, also used for stand-alone projects;

Redis: When it comes to caching, Memcached and redis are commonly used now; Of course, Redis is not limited to caching;

SpringBoot: a framework used to deal with other frameworks, which mainly provides various starters, simplifies various configurations, facilitates integration with other frameworks, and enables developers to get started quickly.

Dubbo: micro-service framework, produced by Ali;

SpringCloud: Another micro-service framework, this one is much more, such as: Config (Configuration Management Center), NetflixEureka (Service Registration, Service Discovery), Hystrix (Circuit Breaker, which seems to have been abandoned by the government and has been replaced), Feign (Declarative Service Call Component), Ribbon (Client Load Balancing), Zuul (Gateway) and so on.

DubboorSpringCloud: Look at the company's technology stack and don't learn which one to use. It is recommended to learn SpringCloud.

RestfulAPI, RPC: different styles of services;

Swagger:RestfulAPI automatic generation tool;

Message queue: RabbitMQ and Kafka are commonly used, which are containers for storing messages and also used for decoupling between systems;

MongoDB:BSON (JSON-like) format memory database;

Zookeeper: distributed coordination service;

Nginx: or other load balancing software;

Docker: container technology.

I will continue to share my views on Java development, architecture design, programmer career development and so on, hoping to get everyone's attention.