Les entrevues Exposed: cycle de vie springbean

Printemps du CIO conteneur Bean cycle de vie de se présente comme suit :

        . ① exemple Bean est créé par la méthode constructeur ou usine: appeler le constructeur
        ② pour définir la valeur de la propriété et d'autres références Bean Bean: setter appel
        méthode postProcessBeforeInitialization ③. Bean à l'instance Bean passé au préprocesseur
        ④ Bean appelle la méthode initialize :. Init méthode
        ⑤. Par exemple Bean passé à la méthode postProcessAfterInitialization Bean postprocessor
        ⑥. Bean prêt à l'emploi
        ⑦ Lorsque le récipient est fermé, la destruction de l'appel de méthode Bean :. Détruire méthode.

 

méthodes d'initialisation et de destruction Bean :
 
Bean noeud peut INIT-procédé et détruire méthode Procédé pour initialiser et configurer la méthode de destruction Bean:
<bean id = classe "personne" = "com.demo.spring.bean.Person" init-method = "init" détruire méthode = "détruire" >
    <Property name = value "name" = "jack"> </ property>
</ Bean>

 

Remarque: La méthode d' interface ApplicationContext est pas récipient fermé, de sorte que l' utilisation d' une interface conteneurs CIO ApplicationContext de référence, détruire méthode ne fonctionne pas comme nécessaire d'utiliser ApplicationContext subinterface ConfigurableApplicationContext .
 
post-processeurs Bean détaillée :
    Postprocessor Bean: Bean Spring offre spéciale
    . ① post-processeur permet Bean processus d'initialisation d'appel (par exemple: après le procédé de l'attribut correspondant du noeud de haricot méthode init) avant et après un traitement supplémentaire Bean.
    . ② Bean postprocessor traités un par un pour tout le contenant par exemple Bean du CIO, au lieu d'une seule instance Les applications typiques sont: vérifier le bon grain de propriété ou de changement selon certains critères Bean
Propriété.
    ③. Postprocessor Bean, la nécessité de mettre en œuvre BeanPostProcessor d'interface
            public class {PersonPostProcessor outils BeanPostProcessor
                    / **
                    * Arg0: instance du CIO du conteneur de haricots
                    * Arg1: conteneur du CIO au nom de la fève
                    * /
                    @Passer outre
                    public Object postProcessAfterInitialization (Object arg0, String arg1) lance BeansException {
                            si (arg0 instanceof personne) {
                                        System.out.println ( "postProcessAfterInitialization");
                                        Personne personne = (personne) arg0;
                                        String name = person.getName ();
                                if (! name.equals ( "AAAA")) {
                                        System.out.println ( "valeur de nom doit être BBBB!");
                                        person.setName ( "BBBB");
                                }
                        }
                        retourner arg0;
                  }
            @Passer outre
            public Object postProcessBeforeInitialization (Object arg0, String arg1) lance BeansException {
                    System.out.println ( "postProcessBeforeInitialization");
                retourner arg0;
                }
            }
    ④. Bean postprocessor besoin d'être configuré dans un récipient du CIO, mais pas besoin de préciser l'identification automatique du conteneur d'attribut id printemps du CIO qui est un post - processeur Bean utilise automatiquement. <Class haricot = "com.demo.spring.bean.PersonPostProcessor" / >

 

Publié 11 articles originaux · louange 11 won · vues 10000 +

Je suppose que tu aimes

Origine blog.csdn.net/zh554275855/article/details/80440644
conseillé
Classement