[JAVA] Spring framework Mémo d'étude simple (1): ApplicationContext, Bean, Autowired
      
      
        
        
        
        
Spring framework Mémo d'étude simple (1): ApplicationContext, Bean, Autowired
Essentiel
- Évitez les nouvelles classes
--IoC, DI, injection de dépendances
 
Façon de penser
--Définition du conteneur (ApplicationContext)
--Définition du conteneur (Bean)
Méthode de définition
--A, base JAVA
--B, basé sur XML
--C, base d'annotations ★
Base JAVA
- @ Configuration (côté conteneur)
 
- @ Bean (côté conteneur)
 
Basé sur XML
- À partir d'un fichier XML
 
Base d'annotation
- @ Configuration (côté conteneur)
 
- @ ComponentScan (côté conteneur)
 
- @ Composant (côté conteneur)
 
Référence Bean
- A、setXXX()
--B, constructeur ()
 
- C、@Autowired★
 
@Autowired
- @Autowired(required = false)
-Définir si la valeur d'injection est requise, éviter l'erreur lorsqu'elle n'est pas définie
 
- @Qualifier("XXX")
 
- Basé sur le type d'injection ⇒ basé sur le nom, plusieurs beans du même type peuvent être injectés
- @Bean(name = "XXX")
--Peut être spécifié
 
- @XXX
 
 
- Vous pouvez définir votre propre annotation
- @Resource
--Champs et propriétés
--Batch Autowired est possible avec la liste et la carte
 
 
@ComponentScan
- @ComponentScan(basePackages = "XXX.XX.XX")
--Cible:
 
- @ Demandes et réponses du contrôleur
-@Entreprise de services
 
- @ Persistance des données du référentiel
 
- @ Composant autre que celui ci-dessus
 
- Le filtre peut être spécifié
 
Portée Bean
- singleton(default)
 
- Même instance dans le conteneur DI
- porototype
--Créez une instance lorsque vous obtenez un bean
 
- session
unité de session
 
- request
unité de demande
-- etc.
 
 
Comprendre les différents problèmes de portée
- Prise en compte de la nature de l'instance générée
--Utilisation d'un proxy étendu
 
Jeter le contenant
- Fermeture explicite
context.close()
 
Split Config
- @import({AxxConfig.class,BxxConfig.class})
 
Profilage de configuration
- @profile("development")
 
- @profile("production")
--Ce qui précède peut être sélectionné pour chaque environnement