you are planning for the development of an ecommerce website



Quiet,2021Just like that to become an indispensable past;silently,2022Stepping on all the unknown new journey like this。BeITPart of the industry,Not working,Just study。the past year,Say:You have worked hard!The future said yesterday,She's just here,You have to treat it well……How?Ok,Then come firstJavaThe excellent framework list of commonly used in development is given to you——study well,In the new year,You must go to one level,Angon!

@Niu DanITclassroom I sincerely wish you all friends2022Happy New Year,Healthy body,May all your wishes come true!

you are planning for the development of an ecommerce website


Java It is a powerful programming language,When combined with the framework,Java Can provide the best solution for any field,Whether it is e -commerce、bank、cloud computing、finance、Big Data、Stock market、IT Wait。

If you just started using Java,Please use this blog(Programming(one):JavaCognitive and beginner guidelines)come and see Java What kind of ghost,It will take you to understand all important concepts needed to start using the framework。

1.for whatJava frame?

The main body of the code pre -written as a template or skeleton,Then developers can use and reuse these code to create applications,What I want to do is to write the corresponding code as needed,So that the application works in accordance with their intentions as the actual form of the framework。The reuse of the framework enables developers to program their attention to business applications and program,No need to create every line of code from scratch, consume resources。

Java The framework is specific Java Programming language,Used for development software applications and Java Program platform。

Java The framework includes not limited to processing、Input and manage hardware equipment and predetermined categories and functions that interact with system software。This depends on the type of framework、Programmer's skill level、The tasks they want to complete and their preferences, etc.。

2.Why is it a framework?

in short,The framework provides a basic main structure for your application。E.g,If we have a suitable test framework,We can automate a lot of things and get accurate and consistent results。same,If it is useful ORM、Web application、Log record、Data management framework,It will make the developer's life simple,And help them focus more on business logic,Don't worry about the universal code fragment used by cross -domain or applications。

After recognizing these,Let me see what popular and popular you areJavaframe。

3.10Big popular framework

Although there are many frameworks based on Java Constructive,But there are some very commonly used different types of frameworks here——Web application、Network application、Log record、test、ORM Wait。 Notice,Each one has its own benefits or advantages,And the most suitable for different business cases or application scenarios。Strictly speaking,We can't say which one is better,Because they are very good in their different scenes——Each has its own characteristics。

Let's briefly introduce these people's of these peopleJavaframe。


(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

Spring With its concept of injecting and the characteristics of programming,Sweeps the development world。It is an open source frame for enterprise -level applications。

use Spring,Developers can create a loose coupling module,The dependency item is processed by the framework,Rather than dependent codes processed libraries。

SpringFramework is all -encompassing,Covering a lot of characteristics,Including safety and configuration,Easy to learn。also,Because it is the most popular Web frame,So you can find a lot of documents and active communities。

After configured all the content,Your code will become clean and easy to understand。The main concepts are as follows:

  • u Dependence (Dependency Injection (DI) Also known as control reverse(Inversion of Control) )——In this principle,Not the application is controlled in order,Instead。External controller is an event。When an event occurs,The application process will continue。This provides the application with flexibility。exist Spring middle,IoC Pass DI Completed,DI Divided into three types——setter injection、Method injection and constructor injection。
  • u Beans and Spring Context——exist Spring middle,Object is called bean,And one BeanFactory Let's manage and configure these bean。You can beanfactory Think of instance、Configuration and management bean Container。Most applications use xml (beans.xml) Configuration。 ApplicationContext Yes BeanFactory Overset,Used to disseminate events、Declaration mechanism and and Spring More complicated applications for integrated characteristics of characteristic integration。
  • u SpringThe core module of the framework is(Quickly cut in:SpringFramework core concept general view):

ü Spring Context:Used to depend on injection(DI)

ü Spring DAO:useDAOModel performs database operations

ü Spring JDBC:For JDBC And data source support

(you are planning for the development of an ecommerce website)ü Spring ORM:For Hibernate Wait ORM Tool support

ü Spring AOP:Programming

ü Spring Web Module:Used to create Web application(Spring MVC)

ü Other new modules that keep pace with the times, etc.。


(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

Apache Struts It's another powerful Web Application of application open source framework。It followsMVC(Model-view-Controller)The model and extendedJSP API。Tradition servlet-JSP Method,If the user submits a form containing his detailed information,Then information will enter servlet Processed,Or the control will be transferred to the next one JSP(Java Server page——You canHTMLWrite Java Code )。This becomes confused for complex applications,because“view”Or indicate that there should be business logic under the ideal circumstances。

Struts Will View、Controller and Model(data)separate,And through a configuration file struts-config.xml Provide the binding between them。

Model(Model)Used to associate the related processing of the data layer。

Controller(Controller)Is a ActionServlet,You can write a template for the view,Use ActionForm JavaBean Maintenance user data。 Action Object is responsible for forwarding application flow。

view(View)Maintenance by a set of rich label libraries。

Use it alone servlet and JSP tradition of MVC Method compared to,Struts Easy to set and provide more flexibility and scalability。It can be you as a role Web A good starting point for developers' career。


you are planning for the development of an ecommerce website

although Hibernate Not a full stack framework,But it completely changed the way we look at the database。 BeJava Persistence API (JPA) Realization,Hibernate Yes Java App Database object relationship mapping (ORM)。Just like SQL Same,Hibernate The query in the middle is called HQL(Hibernate Query Language)。In fact, the enterprise level laterJavaSpecifiedJPA,Officially sufferedHibernateInfluence。

Hibernate Directly Java Class mapped to the corresponding database table,vice versa。

hibernate The main file in it is hibernate.cfg.xml document,It contains related will Java Information of class and database configuration mapping。

Hibernate solved JDBC Two main problems——JDBC Do not support object -level relationships,If you decide to migrate to different databases,Old query may not work——Means a lot of changes——Live -time and money expenditure!

Hibernate Provides an abstract layer,In order to pass the code and database loose coupling。Such as establishing a database connection、implement CRUD All things like operations are caused by it Hibernate deal with——Therefore, developers do not need to implement these,So that the code is independent of the database used。

4)Apache Wicket

you are planning for the development of an ecommerce website

If you have used it JSP,LearnWicketIt will be a piece of cake。 Wicket It is a simple Java Web frame,A structure with components,You only need to understand Java and HTML。Absolutely no XML Or configuration file!

Wicket The main feature is its POJO Model,The component is possess OOP Simple characteristic(normal)Java Object。These components are bundled together as reusable,Containing images、Button、Form、Link、page、container、Behavior,So that developers can customize them。

Wicket Lightweight,You can build an application very quickly。Use Wicket The code written for the unit test is also easy。

5)JSF(Java Server Faces)

you are planning for the development of an ecommerce website

Do not JSF and JSP Confuse,The latter is just a text document that can contain static and dynamic content。 JSF Depend on Oracle Develop,Be EnterpriseJavaActive part。

It is a component -based MVC frame,And provide a server -based application with reusable applications UI Component。The main idea is to encapsulate various client technology,Such as CSS、JavaScript and HTML,This will allow developers to create without deep understanding of these technologies UI。They only need to drag and drop UI Component,You can focus more on their representation details。

JSF The default template system is FaceLets。 JSF and Struts very similar。

JSF Can further and support AJAX Seamless integration of components,Calling by adding to verification and method call Ajax Incidents to enrich user experience。

(you are planning for the development of an ecommerce website)There are many excellent third partiesJSFStandard implementation library can be used directly。


(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

(you are planning for the development of an ecommerce website)

Another name is actually Java frame - wizard(Guide)。This lightweight framework allows you to complete your application very quickly,Because it configures high -level configuration、Log record、Application indicators, etc. provide support for opening out of box opening。You can create high performance、Stable and reliable RESTful Web application。

(you are planning for the development of an ecommerce website)Dropwizard Particularly amazing,Because it will Java A large library in the ecosystem(Such as Jetty、Guava、Jersey、Jackson and Metrics Wait)Integrate to a framework,And provide you with a lightweight and lean application。

Due to all configuration、Safety and performance related tasks have integrated libraries,So as a developer,All you need to do is build business logic。

Dropwizard Is an open source frame bundled with the library,you can use it Eclipse IDE Easily set it and create a simple project to learn(please believe,You can learn it yourself Dropwizard!)。 Dropwizard The basic tutorial on the website will help you complete every step。

7) Grails

you are planning for the development of an ecommerce website

Grails It is an easy -to -learn full stack framework,It is very suitable for those who have just started programming career。 Grails It is a use Groovy Programming language Web frame,It runs Java on the platform,And Java Perfect grammar。The framework is based on MVC Design Patterns。

Groovy Similar to Java,and Java compared to,It adds more features。If you already understand Java,Learn Groovy very easy。

andJSP similar,existGrails middle,Rendering technology isGSP(Groovy Server Pages)。exist Grails Create labels for views is simple and easy。It uses it GORM——it is Grails Used ORM accomplish。You can also use it directly Hibernate replace GORM。 Grails Built -in RESTful API support,Therefore, you can easily create such services。

The best part is here——You can take the existing Java Code and Grails integrated。If you are mixed in your application Groovy and Java Code - It will work well!

study Grails The best way is to use any Java IDE(Such as Eclipse、NetBeans Wait)Set your own development environment,Then build your first one according to the tutorial Web application。

8) ATG

you are planning for the development of an ecommerce website

ATG It is a use Java Written online business platform。It is a customized and configurable framework,It is especially suitable for e -commerce -related websites。This product returns Oracle all,Support complex and huge B2B and B2C application。However,For small -scale applications,It may be expensive。If you are developing an e -commerce website,ATG It is a good learning framework,It will enrich your technology and field knowledge。

ATG The platform can run on the three servers——Oracle Weblogic、IBM Websphere and JBoss。

There is in the frame 3 The main level:

  • u Dynamo Application framework( Dynamo Application Framework)——It provides JavaBeans and JSP The basic layer of the development environment。All general functions have standards ATG kind,You can even configure the file link component bean Create and assemble customized customs Java Code。
  • u Personalized module(Personalization module )——This is where each user dynamically customizes content。This module helps to control and maintain the user configuration files and business rules to display the contents of specific users。This layer also supports targeted emails。
  • u Scene module( Scenarios module)——This module is sensitive by introducing time、Interactive activities between event -driven activities to manage the content of the website visitors and the content of a period of time,Further enhanced the function of personalized modules。E.g,Limited Time Offer、Exclusive discounts of some members, etc.……

ATG Is a broad framework,You need time and patience to learn it。Wal -Mart、Messi Department Store、Best Buy、ASDA The websites of several large companies are based ATG superior。

9) Play

(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

(you are planning for the development of an ecommerce website)

Play Is a slightly traditional and unique framework type,It follows the method of agreed better than configuration。It is based onMVCmodel,Is an open sourceWebApplication framework。Apart from Java,You can still be Scala Write Play Web application。

(you are planning for the development of an ecommerce website)Play Similar to Django or Ruby on Rails or ASP.NET Architecture,Not follow J2EE Web standard。

(you are planning for the development of an ecommerce website)Play Some of the characteristics are:

  • ü The high performance brought by asynchronous treatment
  • ü No container,No status,Based on the principle of reaction type
  • ü Use static type language,Therefore, most errors are captured during compilation,As a result。
  • ü Scala Explore the real OOP And some functional programming concepts。It and Java The compatibility creates an excellent and powerful system。
  • ü Play2 Published a new powerful construction system sbt,It can relax with Maven Project integration and simple creation JAR document。
  • ü Built -in database access library for a broad relationship for common functions。

10) Apache Hadoop

you are planning for the development of an ecommerce website

Although Apache Hadoop Not a full stack framework,But it provides a software framework,In place MapReduce Programming model work。These practical programs can easily process a lot of data(Big Data)、storage、Analyze and handle them to provide faster、More effective results。

I will Hadoop Including in this list,Because it is increasingly prominent in today's big data“Important thing”。

Hadoop Use the main design mode to help distributed data storage and processing。Master node(which isNameNode)ofHadoop HDFS(HadoopDistributed file system)There are data nodes。 MapReduce Have a layer JobTracker and tasktracker。There are separate nodesDataNode andtaskTracker。

HDFS Divide the file into a set of blocks,And copy these blocks throughout the cluster。

If you want to be familiar with big data and data science——Hadoop It is your starting point。You can go to the official website to learn further Hadoop。

4.otherJava There is still a frame

11) GWT

you are planning for the development of an ecommerce website

Google Web Toolkit (GWT) Is an obvious reason Google Created framework,Be used in Java Create Internet application。 GWT One of the best features is that it will Java Code converting to JavaScript Code——That is, based on the custom code of the browser。I personally like this feature,Because during the development process,In the past, we often spend a lot of time and energy on browser testing。Use this set of open source tools,We can write high -performance in a shorter time Web application。If you already have a code library,You can easily put it with it GWT integrated,because GWT And Eclipse IDE、Maven and Junit compatible。This framework also provides a wide range of small components(widget)Library,You can perform most tasks,even if Java Beginners can also easily develop business logic,Don't worry about too many basic things。 GWT Have a framework 3 Primary component——Java arrive JS translater、In the core JRE Library JRE Simulation library and contain UI Component、Historical management and more functions GWT UI Build a library。

You can learn hereGWT:


you are planning for the development of an ecommerce website

Vaadin Is a flagship product,Also developers can use Java conduct HTML5 Web UI Implementation platform。It is an open source platform,include Java Web Framework and a group Web Components and application promoters and tools。These Web Component composition Vaadin Core,Can be customized,So as to provide high -performance and multifunctional code for desktop and mobile applications。

Vaadin Flowing Vaadin The reality of the platform Java Frame part,Responsible client-Server communication and route。use Vaadin flow,You can use it completely Java write Web application,No need to be a fuss JS or CSS。 UI Moto uses automatic communication with the browser and server to handle the user's browser activity。You can easily Vaadin Component integration to any of you in use IDE middle,And it is a cross -platform framework,Therefore, no need to worry about migrating the code to different platforms。

This is a kind of building Java New method of application,So you can focus on the layer,No need to worry about the client-Server communication。It also has data binding API,Available type safe Java Code and abstract layer will UI Component mapping to the database,So you can use it HTML Template and Java exist UI Construct a reusable component。


you are planning for the development of an ecommerce website

Spark Yes Apache Another masterpiece,It is an open source Web Development Framework,It has Spring、Play and JAX-RS Similar features,But the function is more powerful,And do not follow the tradition MVC Design Patterns。

it is Java Microcarmarks and specific domain languages,Focus on development speed。It requires a very small configuration and encoding。Due to memory calculation,It is compared with data processing Hadoop quick 10 Double。 Spark Is a completely dynamic framework,Support delay initialization and real -time data processing。

And programming language that focuses on data science and big data Scala and R Integration is also easy。 Spark The main goal is to process a large amount of data,It also supports use SQL Inquire、Machine learning and graphic algorithm conduct advanced analysis。

Don't think Spark Can replace Hadoop——it can be Hadoop Expansion of the function provided——If you enter the field of data science,Learning these two frameworks will make you more advantageous than other frameworks。


you are planning for the development of an ecommerce website

(you are planning for the development of an ecommerce website)

One for fast development Web Low code platform for applications,You can start and run business applications within a record of a record fast time。It consists of business components,Make developers easily build complex applications。True expansion in the true sense、Customized and targeted object,OpenXava by Java Class to model business issues at the core。This model -driven development method ensures packaging。Developers only define the model as the ordinary comments Java kind,And the necessary functions are generated during runtime。

OpenXava The structure and concept follow the business component architecture,Not traditionally MVC Architecture。Everything here is a business concept,All workpieces that contribute to a certain business concept are in the same place,Whether it is a related view-View、Model-ModelStill controller-Controller。

Before learning this framework,You should definitely be here( the concept behind this language。


(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

(you are planning for the development of an ecommerce website)

Vert.x Depend on Eclipse Develop,It is an event -driven application framework,It uses Java、JS、Groovy、Scala Waiting for multiple languages。therefore,It is essentially multilingual。It depends on the asynchronous programming model,This makes the application unobstructed and not affected by multi -threaded。

Vert.x It can be said to be more like a toolkit,It offers a variety of languages API Come to execute all Web The asynchronous task required for the application——Log record、Authentication、monitor、Database Connectivity、Multi -cluster support, etc....... Vert.xThere are two main concepts:

Verticle——Just like any other asynchronous model,There is an event cycle,Among them, the message、Network buffer、HTTP Request and other events。Each event in the incident cycle is caused by Verticle deal with。

Event Bus(Event bus)——different VerticleUse event bus to communicate with each other。This is completed through asynchronous news。Event bus can execute different types of message transmission,If you are right、Broadcast and request-response。

Vert.x The best point is its non -blocking characteristics,This makes Web Applications have high performance。This framework can be used for any application——Small、Medium or large。If you understand Node.js,You will prefer Vert.x,Because it has Node.js All functions and functions Java Advantages of virtual machines,This makes it a powerful and strong combination。


you are planning for the development of an ecommerce website

Conceptual perspective,Tapestry Similar to JSF and Wicket。It is an open source、Cross-platform、Component Web Application Development Framework,Can create highly scalable applications。It is based on rich Java Servlet API Above,Suitable for any container or application server。 Tapestry Is a real object -oriented framework,Because you can use pure HTML Template or pure Java kind(Object)create HTML page。Nothing need XML Configuration,Tapestry Annotation(annotation),So that the code is simple and easy to manage。

(you are planning for the development of an ecommerce website)use Tapestry,The minimum application stop time,Because even Java Any changes in the class can be exchanged hot(hot-swapped),And no need to restart the server。 Tapestry Be responsible for URL Construction and redirection。Unlike other frameworks,The framework here is adapted to the code instead of the opposite。

Tapestry Some of the functions of opening the box are the functions of opening the box——File Upload、Pagination、Field verification、Date and calendar logic、Internalization、Show the pop -up window, etc.……

Easy to Tapestry Code and back -end framework(Such as Spring、Hibernate Wait)And test framework(Such as Selenium)integrated。


you are planning for the development of an ecommerce website

Jersey Is a Web Service framework,Used to create RESTful Serve and support JAX-RS API。It greatly simplifies it through useful characteristics and practical functions RESTful Service development。 Jersey Provides an abstract layer,Therefore, developers do not need to worry about the client-Low -level implementation of server communication,Can focus on the main Web service function。

With anything else RESTful Comparison,Jersey One of the significant features is that it allows the output,That is, the server can be partially or blocking the client to respond to the client。When the big data must be sent and the data block can be sent when preparing the entire response,This is useful。

Jersey It is also equipped with a simple test infrastructure。You can write mainly based on Junit Lightweight integrated test。Test and test Maven Environmental integration is also easy。All you need to do is in pom.xml Add dependencies。


you are planning for the development of an ecommerce website

OSGi Or open service gateway initiative(Open Service Gateway initiative)Definitions a component -based system。It is a popular Java frame,Each component is called a bundle bag(bundle)。Every bundle There are independent life cycles,No dependence on others bundle。The bundle bag is considered as OSGi Specific bidding jar document。Binding bags must be clearly stated that the bag they need to access,otherwise OSGi The platform will not be able to start。

Binding bag JVM Class service registry to discover、Published and binding binding bags as services。This is OSGi Essence——Modular application architecture promotes adaptability and rapid changes,And no need to stop the time of the application(Flexibility at runtime)。

OSGi The reason why it is popular,Mainly because it is easy eclipse Based on maven Project integration。

OSGi There are some good concepts and benefits,But because the independent package version control may be a problem。This may be a major disadvantage to use this framework instead of other frameworks。However,It is worth investing in this framework for some time,Because the benefits of modularity and isolation loading are an important concept for developers。


(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

(you are planning for the development of an ecommerce website)

Drools Is a popular business rules management system。It has a business rules engine (BRE)、creation、Regulations management procedures and decision -making and symbolic model support。Rules management program is called Drools Workbench。The project is obtained RedHat and JBoss support。use Drools,Developers can easily separate data from business logic。 Drools The two main steps of the two are——

  • creation - Create rules file;
  • Runtime——Places to execute rules。

Drools The most important feature is that you can delete and add new rules at any time,And no need to restart the server。

Drools It is a suitable choice that depends on many conditions to occur in some operations。E.g,Check if a person is qualified to upgrade his plan,There are some settings——E.g,Whether the customer exists,Is the customer’s billing amount greater than a certain limit, etc.。These rules can be defined as a decision form,Instead of coding them in the code。No change requires another construction、Complete testing or re -deployment!


you are planning for the development of an ecommerce website

MyBatis Yes Apache A free software,it is Java One of the persistent frameworks,in Java Method and SQL Statement mapping,and ORM Will Java Object mapped to the table in the database。The mapping engine is used in a statement XML Description or comment will be SQL The result is mapping into the object tree。

(you are planning for the development of an ecommerce website)in many aspects,MyBatis Better than JDBC and Hibernate。 MyBatis Can be generated dynamically SQL Sentence,Separate them from code。It also provides query cache for access to access。 API very simple,You don't need to be proficient SQL Or the database can be written MyBatis Code。

MyBatis Yes Hibernate and JDBC A good alternative solution,When your application is not too complicated,And if you want a simple box, use the function,For example database connection、Affairs management、Load the database driver、When the management and release connection, etc., when the framework is completed by the framework。 MyBatis It can also be easy Spring Frame integration。

21) Apache Mina

(you are planning for the development of an ecommerce website)you are planning for the development of an ecommerce website

(you are planning for the development of an ecommerce website)

Apache Mina Is a network application framework,Developers can easily create highly scalable and high -performance network applications。Whether you use it TCP/IP、UDP、LDAP、NTP、DNS Wait for a custom protocol,Mina It provides uniformly for all transmission API。This framework can provide high -level and low -level networks API。 Mina Fully handle I/O operate,Help developers fully focus on business logic and other applications needs。It is easy to test the code written by the help of an analog object。you can use it Eclipse IDE Learn easily Mina。It can be with Spring and PicoContainer Waiting for popular framework integration,Make it a popular option for network applications。

MINA Compare SOAP better,More stable and reliable。It has a rich network library to handle concurrent threads。 conclusion

There are many others Java frame,They are not full stack or Web Development Framework,But it is useful in each application——For example, for log records log4j、For testing Junit and Selenium and many more。Although you can learn them anytime, anywhere and other frameworks you see in the list above,But knowing these is very necessary。

The best framework for your application should meet your business needs,Provide a certain degree of flexibility and best performance,And easy to maintain and absorb changes。

(you are planning for the development of an ecommerce website)E.g,For full stack Web Development Framework,If you need to change some content,It should have the minimum impact on the application,That is, you don't have to build and deploy applications for small changes。You only need to change the configuration to play a role。Such applications can save stop time and provide flexibility。

Wisely choose the right oneJava frame,Can enjoy better Java The functional characteristics and excellent basic support provided。Of course there are other excellent frameworks such asShardingSphereWait,Be2022The first article of the year,Just write this——2022here we go,I hope everyone can stand on the shoulder of the giant,Create greater value,Achieve better self!Get up your sleeves!

(you are planning for the development of an ecommerce website)What framework did you use or use??Please share it in the message area,Also talk about your experience and experience。