Spring conteneur leger??

Fermé
eleveing Messages postés 73 Date d'inscription jeudi 30 août 2012 Statut Membre Dernière intervention 27 février 2014 - Modifié par eleveing le 22/08/2013 à 20:15
eleveing Messages postés 73 Date d'inscription jeudi 30 août 2012 Statut Membre Dernière intervention 27 février 2014 - 31 août 2013 à 13:36
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
22 août 2013 à 20:33
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 jeudi 30 août 2012 Statut Membre Dernière intervention 27 février 2014 1
31 août 2013 à 13:36
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 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
22 août 2013 à 21:54
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