Spring conteneur leger??

eleveing Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -  
eleveing Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde,

j'entends tjrs parler de spring en tant que "conteneur leger" mai j arrive pas a bien comprendre ce role ou plutot cette caracteristique fondamentale de ce framework.
d apres le site de wikipedia:

La raison de ce nommage est expliquée par Erik Gollot dans l'introduction du document Introduction au framework Spring4

« SPRING est effectivement un conteneur dit " léger ", c'est-à-dire une infrastructure similaire à un serveur d'application J2EE. Il prend donc en charge la création d'objets et la mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit les objets à fabriquer et les relations de dépendances entre ces objets. Le gros avantage par rapport aux serveurs d'application est qu'avec SPRING, les classes n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge par le framework (au contraire des serveur d'application J2EE et des EJBs). C'est en ce sens que SPRING est qualifié de conteneur " léger ". »

j ai lu cet explication mai j ai pas compris car pour executer une application j2ee on a tjrs besoin d un serveur comme tomcat par ex meme cette app peut etre base sur spring.
Expliquez moi svp,
A voir également:

3 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Je crois que la partie la plus importante est ici :

"les classes n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge"

Par exemple un conteneur web est léger, il récupère des requêtes http et répond en http (je simplifie), pour le client que ce soit ce serveur là ou un autre le fonctionnement de l'application web sera identique.

Pour un conteneur lourd, il est nécessaire de respecter des contraintes, c'est à dire généralement implémenter des interfaces, afin d'avoir côté client le fonctionnement spécifique voulu par le serveur.

Exemple grossier :

import ConteneurLeger;

public class ClientLeger
{
    public static void main(String[] args)
    {
        ConteneurLeger.faireUneActionLegere();
    }
}

import ConteneurLourd;
import ClientLourd;

public class ClientLourd implements ConteneurLourd
{
    @Override
    public ActionLourde actionLourde()
    {
    }

    public static void main(String[] args)
    {
        ActionLourde action = new ClientLourd().actionLourde();
        ConteneurLourd.faireUneActionLourde(action);
    }
}
1
eleveing Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour vos reponses, mais j arrive pas a comprendre tres bien les choses est ce que qq peut simplifier encore le choses??et merci.
1
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Une autre tentative d'explication (au cas où):

Avec Spring tu as à peu près tout ce qu'il faut pour avoir une application fonctionnelle présentant sans pour autant avoir à installer quelque chose, ni lancer une application de type 'serveur' puis déployer ton application dessus.
Par exemple tu peux démarrer une application web en mode standalone jusque avec Spring)
0