En fait je suis pas sûr de bien saisir l'intérêt de Spring... Je vais tenter de résumer ce que j'en ai compris et vous allez me dire si c'est bon 
Déjà, je pense savoir ce que sont l'injection de dépendances et l'inversion de contrôle en théorie.
Pour moi l'injection de dépendances, en deux mots c'est simplement le fait d'utiliser des interfaces au lieu de classes pour switcher plus simplement d'implé en diverses circonstances.
L'inversion de contrôle serait une façon de profiter de l'injection de dépendances de façon à dire ailleurs que dans le code quelle implémentation concrète utiliser là où on a défini des utilisation d'interfaces.
Et donc si j'ai bien compris, Spring implémenterait l'inversion de contrôle sous la forme du fameux Bean.xml... Ce que je comprends pas c'est où est l'intérêt de Spring pour faire ça ? Pourquoi je peux pas charger moi-même mon fichier XML et le parser ? Ou même ne pas utiliser un fichier XML mais carrément un Config.java avec des constantes statiques publiques utilisable partout (des variables globales en somme) ?